1、新建文件夹,给读写权限
$ cd / #移动根目录(方便好找)
文件夹授权方式1:命令
$ sudo mkdir www #新建文件夹
$ cd /www
$ sudo chmod 777 * -R #给读写权限
2、上传打包的项目文件,并解压
安装解压工具
$ sudo apt-get install rar #安装解压工具
$ cd /www #移动到对应目录
$ ls
$ rar x 20221207.rar #解压文件
3、安装.NET SDK
当前程序是.NET 6 操作系统是乌班图20.24
到微软官网获取安装命令
使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。
打开终端并运行以下命令:
$ wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ rm packages-microsoft-prod.deb
安装 SDK
.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
$ sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
4、安装守护进程
$ sudo apt-get install supervisor //安装supervisor
$ service supervisor start //启动supervisor,也可以使用这个命令启动supervisord,启动时可以指定配置文件启动
修改配置文件 支持web ui
$ sudo chmod 666 /etc/supervisor/supervisord.conf
粘贴webui配置项目到 supervisor/supervisord.conf 如果里面有则解开注释
[inet_http_server] ; inet (TCP) server disabled by default
port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123 ; (default is no password (open server))
$ sudo supervisorctl reload #重启
访问前,注意打开防火墙端口
5、添加ASP.NET Core supervisord守护进程子文件
分配 conf.d文件夹可读可写权限
$ sudo chmod 777 /etc/supervisor/conf.d
由于文件编码文件,自己电脑上创建文件在上传非常容易出错,直接vim 又非常不好编辑。这里我推荐个办法,就是把supervisor/supervisord.conf下载到桌面,用下面的内容覆盖掉就行了。重命名cellreport.conf。
这里大家可能会奇怪,为什么是配置项目是cellreport.conf文件,而不是cellreport.ini。根本原因在于supervisor/supervisord.conf最下面两行定义的是读取的是需要启动的被守护进程
[include]
files = /etc/supervisor/conf.d/*.conf
他指向的是/etc/supervisor/conf.d文件夹,要读取的是.conf。
[program:cellreport]
command=dotnet reportWeb/reportWeb.dll --urls http://*:5000 --ContentRoot . --WebRoot ../wwwroot
directory=/www
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/cellreport.out.log
stderr_logfile=/www/cellreport.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d
写完后,上传到 /etc/supervisor/conf.d文件夹下。
其中:
[program:cellreport] 要守护的程序名称
command= 要知名的命令
directory 程序文件目录
autorestart 是否自动启动
stderr_logfile 此处为aspnet程序的supervisor写的日志,很多时候启动不了可以查看此日志找原因
stdout_logfile 此处为aspnet程序的supervisor写的日志
user=root 此处为系统登入用户名
其余的是通用配置
$ sudo supervisorctl start cellreport #启动程序[program:cellreport]
在web查看程序,如果启动不了 会有报错提示
显示 staring则正常启动了。