将所有的压缩包都放在统一位置:1、CoreSDK目录:root/dotnet、 2、项目:root/www、4:方向代理:root/nginx、 第一步:安装.net Core SDK 到压缩包的位置执行: mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.2.207-linux-x64.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet 配置全局变量 vi /etc/profile 中加入: export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet 使文件生效:source /etc/profile 重启计算机:shutdown -r now 第二步:上传项目文件 第三步启动: dotnet Olms.Web.Host.dll 打开防火强:参考网站:https://www.cnblogs.com/liuxiaoji/p/9907984.html sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload 第四步:安装Nginx :略 tar zxf nginx-1.18.0.tar.gz ------------------------------------------------------------------------- 第五步:安装python2.7.9 参考网站:https://www.cnblogs.com/toulanboy/articles/7753502.html 1、下载python# wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz 2、解压、编译安装(依次执行以下5条命令)# tar -zxvf Python-2.7.9.tgz cd Python-2.7.9 ./configure --prefix=/usr/local/python-2.7.9 make make install 3、系统自带了python版本,我们需要为新安装的版本添加一个软链# ln -s /usr/local/python-2.7.9/bin/python /usr/bin/python2.7.9 4、查看python版本 python -version ------------------------------------------------------------------------- 第六步:安装supervisor :参考网站https://www.cnblogs.com/kaituorensheng/p/5020793.html 1、安装这里用源码 supervisor-3.1.3.tar.gz tar -zxvf supervisor-3.1.3.tar.gz cd supervisor-3.1.3 sudo python setup.py install 其中这里会报错。在执行python setup.py install 时候 这里我们需要安装 setuptools supervisor-3.3.2]# python ez_setup.py 会出现这个要求: Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg 下载结果并且执行 [root@localhost supervisor-3.3.2]# sh setuptools-0.6c11-py2.7.egg 执行完就可以执行 python setup.py install 了 这一步supervisor安装完成 在执行 echo_supervisord_conf > /etc/supervisord.conf 时报错误 ----------------------------------------------------------------------------- [root@localhost bin]# echo_supervisord_conf > /etc/supervisord.conf Traceback (most recent call last): File "/usr/bin/echo_supervisord_conf", line 5, in <module> from pkg_resources import load_entry_point File "/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resourc es.py", line 2603, in <module> working_set.require(__requires__) File "/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resourc es.py", line 666, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resourc es.py", line 565, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: meld3>=0.6.5 --------------------------------------------------------------------------- 解决方案参考:https://blog.csdn.net/nb7474/article/details/103821255 wget https://pypi.python.org/packages/source/m/meld3/meld3-1.0.2.tar.gz tar -zxf meld3-1.0.2.tar.gz cd meld3-1.0.2 python setup.py install ------------------------------------------------------------------------- echo_supervisord_conf > /etc/supervisord.conf 执行就成功了 现在可以去修改默认的 /supervisord.conf 配置了 默认配置中,我们不需要修改其他的 参考:https://www.cnblogs.com/ruanraun/p/supervisor.html 只需要将最后一句注释的那句: ;[include] ;files = relative/directory/*.ini 改为 [include] files = supervisord.d/*.conf 即可 然后在/etc目录下创建文件夹supervisord.d 在添加一个olms.conf即可 启动进程守护: supervisord -c /etc/supervisord.conf 查看进程: ps aux | grep supervisord 进程结果: root 13996 0.0 0.2 215112 9916 ? Ss 23:18 0:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf root 14013 0.0 0.0 112824 984 pts/0 S+ 23:18 0:00 grep --color=auto supervisord 查看进程命令 supervisorctl 是 supervisord 的命令行客户端工具,使用的配置和 supervisord 一样,这里就不再说了。下面,主要介绍 supervisorctl 操作的常用命令: 输入命令 supervisorctl 进入 supervisorctl 的 shell 交互界面,就可以在下面输入命令了。 help # 查看帮助 status # 查看程序状态 stop program_name # 关闭 指定的程序 start program_name # 启动 指定的程序 restart program_name # 重启 指定的程序 tail -f program_name # 查看 该程序的日志 update # 重启配置文件修改过的程序(修改了配置,通过这个命令加载新的配置) 也可以直接通过 shell 命令操作: supervisorctl status supervisorctl update ------- 启动 ------------------------------------------------------------ status: 查看当前运行的进程列表 stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。 start xxx: 启动某个进程 restart xxx: 重启某个进程 stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理) stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。 配置supervisorctl重启 Olms.Web.Host. ------ 重新配置 ------------------------------------------------------ [root@localhost www]# supervisorctl /etc/supervisord.d/olms.conf *** Unknown syntax: /etc/supervisord.d/olms.conf [root@localhost www]# supervisorctl Olms.Web.Host.dll FATAL can't find command 'dotnet' supervisor> [root@localhost www]# cd /etc/supervisord.d [root@localhost supervisord.d]# systemctl start supervisord.service [root@localhost supervisord.d]# supervisorctl start Olms.Web.Host Olms.Web.Host: ERROR (no such process) [root@localhost supervisord.d]# ------ 启动 Supervisord 服务 ----------------------------------------- supervisord -c /etc/supervisord.conf ------ 启动 Supervisord 服务出现错误--------------------------------- Starting supervisor: Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord. For help, use /usr/bin/supervisord -h ------ 解决办法 ----------------------------------------------------- ps -ef | grep supervisord root 2503 1 0 Nov19 ? 00:03:23 /usr/bin/python /usr/bin/supervisord root 21337 2556 0 18:15 pts/8 00:00:00 grep --color=auto supervisord pid=2503 kill -s SIGTERM 2503 ------ 重启项目 ------------------------------------------------------- supervisord -c /etc/supervisord.conf