搭建的环境为Centos7 + .net core + supervisor + nginx
1、如何安装ftp上传文件,以前有博文介绍,CentOS7 FTP安装与配置 - 有梦的秋天 - 博客园 (cnblogs.com)
2、安装.net core
下载地址:Download .NET (Linux, macOS, and Windows) (microsoft.com)
在 CentOS 上安装 .NET - .NET | Microsoft Docs 按照链接提示,进行安装
最后输入:dotnet --info 查看是否安装成功。
通过ftp把dotnet网站上传到centos服务器。
然后在linux中切换到.net目录上,cd /home/www/ftpuser/zmcl(这个是我存放网站的路径),然后运行dotnet xxxx.dll
如果想通过ip或者域名访问,则运行 dotnet zmcl.dll --urls http://*:5000
开放端口,前面的博文也有介绍,可自行查阅。
4、安装守护进程:supervisor
supervisor:要安装的软件的名称。
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
supervisorctl:用于管理supervisor配置文件中program和supervisor服务本身。
---------------------------------------------------------------------------------------------------------------------
安装:
sudo su - #切换为root用户
yum install epel-release yum install -y supervisor
相关命令:
systemctl enable supervisord #开机启动
systemctl start supervisord #开启
systemctl stop supervisord #停止
systemctl restart supervisord #重启
systemctl status supervisord.service #查看状态
supervisorctl start program_name #启动某个进程(program_name=配置的进程名称)
supervisorctl stop program_name #停止某一进程
supervisorctl reload #重新启动配置中的所有程序
supervisorctl stop all #停止全部进程
supervisorctl update #更新新的配置到supervisord
supervisorctl restart program_name #重启某一进程
supervisorctl #查看正在守候的进程
配置
配置文件用默认的就可以了,也不用自己去生成了
默认配置文件 vi /etc/supervisord.conf
拉到最后,这里的意思是 /etc/supervisord.d 文件夹下的所有.ini结尾的文件都可以。
开启远程图形界面:
[inet_http_server] ; inet (TCP) server disabled by default port=*: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))
port=web管理界面的访问端口 * 代表所有ip
username= 登录用户名
password= 登录密码
设置.net core运行配置
windows本地新建一个netcore.ini文件,内容如下(特别注意UTF-8格式,这里我坑了很久)
使用ftp上传至/etc/supervisord.d文件夹下
[program:zmcl] command=dotnet zmcl.dll --urls http://*:5000 #运行命令 directory=/home/vsftpd/ftpuser/zmcl #程序路径 environment=ASPNETCORE__ENVIRONMENT=Production user=root stopsignal=INT autostart=true #自动启动 autorestart=true #3秒自动重启 startsecs=3 stderr_logfile=/var/log/ossoffical.err.log stdout_logfile=/var/log/ossoffical.out.log
重启supervisor:
systemctl restart supervisord #重启
可参阅:https://www.cnblogs.com/hzzxq/p/9988507.html
3、安装Nginx
Nginx官网:nginx: download
1、添加源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、安装Nginx
sudo yum install -y nginx
3、启动Nginx并设置开机自动运行
sudo systemctl start nginx.service #开启服务
sudo systemctl enable nginx.service #设置开机启动
然后访问:http://192.168.0.129/(这是我测试ip地址),呈现如下页面,则安装成功。(默认80端口,如何开发端口,前面以前博文有介绍,可自行查阅)
修改配置文件,访问.net core网站
vi /etc/nginx/conf.d/default.conf
server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
重启Nginx
nginx -s reload
.net core配置Nginx可参考:CentOS 7 Nginx部署.NET Core Web应用 - weiwxg - 博客园 (cnblogs.com)