程序员读书

Linux+.Net Core+Nginx

2019-04-16  本文已影响0人  小世界的野孩子

之前的文章中有提到关于使用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就正式完成了,这仅是一个小的例子以便于了解,具体在项目当中如何使用还需要更多的了解。

上一篇下一篇

猜你喜欢

热点阅读