centos7 部署.net core
搭建的环境为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用户
1 2 | 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结尾的文件都可以。
开启远程图形界面:
1 2 3 4 | [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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构