Linux+.Net Core+Nginx
之前的文章中有提到关于使用Nginx在linux来实现反向代理,今天我们继续加点料。在Centos7中部署.NetCore,然后使用Nginx进行反向代理!
我们先准备好一个.Net Core 的 Web 项目,然后发布成linux版本,然后在根目录下面去寻找到刚发布的项目文件,为后续做好准备。
然后我们需要在Linux上安装.Net Core的环境以便于我们的项目能正常的运行在上面。
1、安装.Net Core
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2、安装.net core sdk 并更新
sudo yum update
sudo yum install dotnet-sdk-2.2(当前项目或者使用版本)
3、查看下.net core 版本是否安装成功
dotnet –version
到这里.Net Core的环境在Linux上算是装好了,接下来就进入正题开始部署项目。
4、创建Test文件夹并且上传刚刚发布好的项目文件至其下面
mkdir Test
5、当把发布的文件上传至Tset目录下之后我们就可以创建服务了
sudo nano /etc/systemd/system/Test.service
6、配置好服务文件
[Unit]
Description= Test
[Service]
WorkingDirectory=/root/ Test
ExecStart=/usr/bin/dotnet /root/Test/Test.dll
Restart=always
RestartSec=10SyslogIdentifier= Test
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
其中文件详解
Description 一个简单的描述
WorkingDirectory 服务工作的目录
ExecStart 启动时执行的命令
Restart 出错了是否重启 建议 always
RestartSec 重启的时间
User 用户
WantedBy 该服务所在的连接地址
7、重启服务,开启服务并且查看状态
systemctl enable Test.service
systemctl start Test.service
systemctl status Test.service
看到上面这个图片的样子说明启动运行成功了。然后我们可以输入ip+5555去看看效果如何
但是请求了半天发现好像没有反应,我们回过头来检查下,好像遗漏掉了一个东西。5555端口是否开了,当然我们也可以直接关闭防火墙,简单粗暴
8、关闭防火墙或者打开5000端口
关闭防火墙:
systemctl status firewalld 查看运行情况
firewall-cmd –state 查看状态
service firewalld stop 关闭防火墙
firewall-cmd –state 查看状态
开启5000端口:
firewall-cmd --zone=public--permanent --add-port=5555/tcp; firewall-cmd --reload
出现这个页面证明部署.NetCore 应用一切顺利,接下来我们开始安装nginx并且实现反向代理、至于如何在Linux上安装Nginx并运行我在前面文章已经详细介绍了,又忘记了得可以再看看
https://www.cnblogs.com/hulizhong/p/10672918.html
卸载nginx命令
yum remove nginx
我们安装好Nginx之后需要在nginx.conf中进行一定的修改
server {
listen 8888;
location / {
proxy_pass http://localhost:5555; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade;
}}
修改监听端口为8888,然后转发地址为刚在项目运行的地址ip+5555,一切顺利完成之后
重启nginx
sudo nginx -t
sudo nginx -s reload
然后我们在去浏览器中输入ip+8888,惊奇的发现我们访问的内容居然和ip+5555的是一样的
然后到这里Linux+.NetCore+Nginx就正式完成了,这仅是一个小的例子以便于了解,具体在项目当中如何使用还需要更多的了解。