美文网首页程序员读书
Linux+.Net Core+Nginx

Linux+.Net Core+Nginx

作者: 小世界的野孩子 | 来源:发表于2019-04-16 08:24 被阅读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就正式完成了,这仅是一个小的例子以便于了解,具体在项目当中如何使用还需要更多的了解。

    相关文章

      网友评论

        本文标题:Linux+.Net Core+Nginx

        本文链接:https://www.haomeiwen.com/subject/ygqvwqtx.html