.Net Core 部署到Ubuntu 16.04 中的步骤
需要安装的工具
- .Net Core
- Nginx反向代理服务器(相当于Windows下的IIS)
- Supervisor(进程管理工具)
.Net Core安装方法请参阅
安装完成后就可以在项目文件夹,使用以下命令启动网站
dotnet xxx.dll
然后就可以在浏览器打开localhost:5000(5000为默认端口,如果有修改,请使用实际端口)
但是现在还不能通过ip访问,这就需要Nginx实现。
Nginx
通过命令安装:
sudo apt-get install nginx
然后配置nginx的代理转发,修改/etc/nginx/sites-available/default,修改内容如下
//如果没有权限修改,请使用 sudo chmod 777 xxx 修改权限(xxx表示文件夹路径或者文件名) 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; } }
保存退出,然后重新加载nginx
sudo nginx -t
sudo nginx -s reload
这样就实现了通过IP访问
然而,重启后我们会发现网站并没有开机启动,这个时候就需要Supervisor了
Supervisor
安装:
1 | sudo apt- get install supervisor |
安装完成之后,在 /ect/supervisor/confg.d/ 目录下新建一个配置文件,取名为 TestCore.conf (我取的是当前项目的名称)
使用命令新建文件:
sodu touch TestCore.conf
打开TestCore.conf,写入如下命令(如果没有权限,请参照上面的方法):
1 2 3 4 5 6 7 8 9 10 11 12 13 | [program:TestCore] command=dotnet TestCore.dll #要执行的命令 directory=/home/xx/TestCore #命令执行的目录 environment=ASPNETCORE__ENVIRONMENT=Production #环境变量 user=www-data #进程执行的用户身份 stopsignal=INT autostart= true #是否自动启动 autorestart= true #是否自动重启 startsecs=1 #自动重启间隔 stderr_logfile=/ var /log/TestCore.err.log #标准错误日志 stdout_logfile=/ var /log/TestCore. out .log #标准输出日志 //注:#内容为注释,代码中请删除 |
配置好以后,需要重新加载一下配置
sudo service supervisor stop
sudo service supervisor start
接下来重启机器,发现可以自动运行
参考文章:http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?