将所有的压缩包都放在统一位置: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
.Net Core 项目部署到 ContOS 7服务器