测试机器:阿里云云主机1核2g
安装环境:centos-7
服务器:Nginx 1.17.1 测试默认已启动
已安装配置:.Net Core 3.1 测试默认安装
连接配置:x-ftp,x-shell
在配置好.net Core环境后,将本地的项目以文件形式发布后上传至Linux,然后cd至上传的文件目录
1、检查云服务器.net core的版本情况
dotnet --version
2、确保防火墙关闭和配置端口开放
这样网上的教程很多,在此不过多描述!大家自己去百度即可。
3、检查Nginx的配置文件
nginx -t
为什么需要首先检查nginx的配置文件,因为这样你才能确定你的配置文件是在哪里,而不是你自定义安装的目录,当然默认是/usr/local/nginx
4、启动.Net Core WebApi服务
nohup dotnet SingleBlog.Web.dll > /dev/null 2>&1 &
为什么需要这样写!因为这样你关闭连接后就不会关闭正在运行的程序了,否则会关闭。
回车运行后会出现一个端口,不是.net core的调试环境!!记住这个端口!
5、修改Nginx配置文件并配置域名
通过x-ftp进入到/usr/local/nginx目录找到conf然后用记事本编辑nginx.conf
server { listen 80; server_name www.zswblog.xyz;#此处填写你自己的域名 rewrite ^(.*) https://$server_name$request_uri permanent; #配置ssl后期再说,可以不填 index index.html; #指定替换的页面 root /root/SingleBlog/wwwroot; #你的配置目录用于修改替换nginx的index页面 location / { proxy_pass http://localhost:8004;#dotnet运行一般是占用8004端口,所以需要反向代理到域名 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; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
将此段代码替换成nginx.conf中http配置下的sever!
保存后退出!
6、重启nginx服务
第一步-检查配置文件是否有错误:nginx -t
第二部-重启nginx服务:nginx -s reload
7、在外部浏览器打开你的域名,此时应该指向你的dotnet运行的端口的网页了,当然webapi没有任何网页加载,他需要前端来进行请求数据
8、关闭运行
关闭运行的.net Core服务需要通过kill进程来操作
第一步-查询所有运行的服务:ps -A 第二步-找到dotnet的运行端口 比如我的dotnet运行端口是28644 kill 28644 回车运行后即可关闭服务
这个时候nginx检测不到你的8004端口所以这时候你访问的应该是nginx的错误页面
这就是.net Core在nginx的启动配置和关闭的最简单的方式!
如果有补充的,欢迎在下方评论!