FastTunnel在Ubuntu上以服务方式部署并开机自启动(.NET Core)

news/2024/9/19 0:41:12/ 标签: ubuntu, linux, 运维, .netcore

本博文的步骤是针对FastTunnel的server端,当然client端或其他基于.NET core的程序都可以参考

===================================
安装dotnet运行时:
-----------------------------------------------------------
添加如下deb(额外的,例如Ubuntu16.04需要设置):
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
-----------------------------------------------------------

正常的:
sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-6.0
sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-6.0
sudo apt-get install -y dotnet-runtime-6.0
-----------------------------------------------------------

解压缩文件:
tar -zxvf FastTunnel.Client.linux-x64.tar.gz
-----------------------------------------------------------

===================================
终端前台方式运行(关闭终端或SSH连接后会自动关闭该进程):
dotnet yourapplication.dll
----------------------------------------------------------
后台方式运行(关闭终端或SSH连接后会自动关闭该进程):
dotnet MyApp.dll &
-----------------------------------------------------------

===================================
服务方式运行:
-----------------------------------------------------------
编辑服务运行配置文件
sudo nano /etc/systemd/system/myapp.service
-----------------------------------------------------------
有效的配置
[Unit]
Description=My .NET Core Application
After=network.target

[Service]
User=root
WorkingDirectory=/root/FastTunnel.Server.linux-x64
ExecStart=/usr/bin/dotnet /root/FastTunnel.Server.linux-x64/FastTunnel.Server.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=FastTunnel

[Install]
WantedBy=multi-user.target
-----------------------------------------------------------
生效和运行服务
sudo systemctl daemon-reload    # 重载Systemd配置
sudo systemctl enable myapp.service    # 设置服务为开机启动

sudo systemctl start myapp.service    # 启动服务
sudo systemctl status myapp.service    # 检查服务状态
-----------------------------------------------------------
检查日志
 journalctl -u fasttunnel.service -e
-----------------------------------------------------------


http://www.ppmy.cn/news/1441283.html

相关文章

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x+8.x新特性)

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x8.x新特性) 1. JavaAPI-环境准备1.1 新建Maven工程——添加依赖1.2 HelloElasticsearch 2. 索引2.1 索引——创建2.2 索引——查询2.3 索引——删除 3. 文档3.1 文档——重构3.2…

.NET高级面试指南专题三十【MVC模式介绍,每个组件都有不同的责任,协同工作以实现应用程序的目标】

MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序分解为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。每个组件都有不同的责任&…

连接oracle时出现ORA-12541:TNS:无监听程序的错误

遇到个问题,有一台windows serve 的服务器,这台服务器(只部署了oracle)忽然监听出问题了,提示 一、问题检查步骤: 1.winR--->cmd--->输入 lsnrctl status 查看监听的状态 如果监听器未运行&#…

springBoot加载配置文件

1. 说明 Spring Boot会自动加载application.properties或application.yml,所放置的位置如下表,所有位置的文件都会被加载(互补配置),高优先级配置内容会覆盖低优先级配置内容。 自动加载配置文件的目录及优先级 位置优…

Android 监听耳机按键方式

在 Android 设备上监听耳机按键可以为用户提供更便捷的媒体控制体验。耳机按键通常位于耳机线上或蓝牙耳机的侧边,用户可以通过这些按键轻松地控制媒体播放,例如播放/暂停、下一首、上一首、音量调整等。 文章目录 1. 使用 MediaSessionManager2. 使用 …

2024深圳杯数学建模挑战赛C题:编译器版本的识别问题思路代码成品论文分析

更新完整代码和成品完整论文 《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓ https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc# 问题重述 深圳杯数学建模挑战赛2024C题:编译器版本的识别问题 作为一种重要的工具,电子…

嵌入式Linux学习——Linux常用命令(下)

压缩/解压缩命令 gzip gzip 的常用选项: -l(list) 列出压缩文件的内容。-k(keep) 在压缩或解压时,保留输入文件。-d(decompress) 将压缩文件进行解压缩。 注意: 如果 gzip 不加任何选项,此时为压缩。 压缩完该文件会生成后缀…

Xcode 15构建问题

构建时出现的异常: 解决方式: 将ENABLE_USER_SCRIPT_SANDBOXING设为“no”即可!

AIGC - SD(中英文本生成图片) + PaddleHub/HuggingFace + stable-diffusion-webui

功能 stable-diffusion(文本生成图片)webui-win搭建(开启api界面汉化)PaddleHubHuggingFace: SD2,中文-alibaba/EasyNLP stable-diffusion-webui 下载与安装 环境相关下载 python(文档推荐:Install Python 3.10.6 …

PotatoPie 4.0 实验教程(27) —— FPGA实现摄像头图像拉普拉斯边缘提取

拉普拉斯边缘提取有什么作用? 拉普拉斯边缘检测是一种常用的图像处理技术,用于检测图像中的边缘和边界。它的主要作用包括: 边缘检测:拉普拉斯算子可以帮助检测图像中的边缘,即图像中亮度快速变化的位置。这些边缘通常…

vue3 ——笔记 (条件渲染,列表渲染,事件处理)

条件渲染 v-if v-if 指令用于条件性地渲染一块内容,只有v-if的表达式返回值为真才会渲染 v-else v-else 为 v-if 添加一个 else 区块 v-else 必须在v-if或v-else-if后 v-else-if v-else-if 是v-if 的区块 可以连续多次重复使用 v-show 按条件显示元素 v-sh…

顺序表常用操作实现算法

查找操作 插入操作 删除操作 小结 参考附录模拟代码&#xff1a; #include <iostream> const int maxn200; //顺序表 typedef struct{//定义静态类型 int num[maxn];// 装数数组 int len;//记录长度 }sqlist; typedef struct{//定义动态类型 int *num;int len; }sqlist…

解锁生成式AI的秘密:神经网络与深度学习原理

生成式 AI 加速发展&#xff0c;GPT-5 等模型变革行业&#xff0c;赋能 AI 软件工程师。AI 技术的进步对国家竞争和个人职业道路至关重要。把握机遇&#xff0c;迎接 AI 时代。 最近有两则新闻&#xff1a; GPT-5重大升级&#xff0c;不容小觑&#xff01;OpenAI CEO萨姆阿尔…

Hadoop - 安装

文章目录 关于 Hadoop架构变迁 1.0 --> 2.0 --> 3.0 安装配置安装配置环境变量配置core-site.xmlhdfs-site.xmlmapped-site.xmlyarn-site.xml配置 hadoop-env 启动/停止 Hadoop 服务查看 hdfs report 关于 Hadoop The Apache™ Hadoop project develops open-source soft…

Gateway服务网关!!!

一、为什么需要服务网关&#xff1a; 两大特性&#xff1a;高可用和高性能 1、高性能&#xff1a;采用异步的方式调用服务。 2、高可用 二、网关包含三大属性&#xff1a; 三、基本配置 <dependency><groupId>org.springframework.boot</groupId><artif…

Odoo:全球排名第一的免费开源PLM管理系统介绍

概述 利用开源智造OdooPLM产品生命周期管理应用&#xff0c;重塑创新 实现产品生命周期管理数字化&#xff0c;高效定义、开发、交付和管理创新的可持续产品&#xff0c;拥抱数字化供应链。 通过开源智造基于Odoo开源技术平台打造数字化的产品生命周期管理&#xff08;PLM&am…

Vue 组件单元测试深度探索:组件交互与状态变更 专业解析和实践

在Vue组件单元测试中&#xff0c;验证组件之间的交互&#xff08;如父组件与子组件、兄弟组件之间的通信&#xff09;以及状态变更的正确性对于保证整个应用的协调运作至关重要。本文详细介绍了父组件向子组件传递props、子组件向父组件发送事件、兄弟组件通过共享状态&#xf…

墨子时事周报

加密孵化器Alliance获Founders Fund战略投资 Peter Thiel 的风险投资旗舰——Founders Fund 宣布已完成对加密货币领域内的新兴孵化器 Alliance 的一项重要「长期战略投资」。尽管投资的具体数额尚未公开&#xff0c;Alliance 的联合创办人 Imran Khan 透露&#xff0c;此轮投资…

visual studio2022,开发CMake项目添加rabbitmq库,连接到远程计算机并进行开发于调试

1.打开visual studio installer 。安装“用于 Windows 的 C CMake 工具” 2.新建CMake项目 3.点击VS的“工具”—>"选项“—>“跨平台”—>”连接管理器“,添加远程计算机。用来将VS编辑的代码传到服务器进行编译–连接—运行&#xff08;调试&#xff09;。 …

【C++】---STL容器适配器之stack

【C】---STL容器适配器之stack 一、什么是适配器&#xff1f;二、栈1、栈的性质2、栈类&#xff08;1&#xff09;栈的构造&#xff08;2&#xff09;empty()&#xff08;3&#xff09;push()&#xff08;4&#xff09;pop()&#xff08;5&#xff09;top()&#xff08;6&#…