Liunx(Centos 7)下一步一步部署 net core 项目

本文主要内容速览:

1.net core 3.1环境配置

2.守护者进程 pm2 及其依赖 node 环境配置

3.反向代理 nginx 环境配置

一、net core 3.1环境配置

首先更新一下 centos 的包管理器,请执行以下命令:
sudo yum update

添加 Microsoft 存储秘钥和源,请执行以下命令
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

安装 net core sdk,请执行以下命令:
sudo yum install dotnet-sdk-3.1

安装 asp.net core 运行时,请执行以下命令
sudo yum install aspnetcore-runtime-3.1

安装 netcore 运行时,请执行以下命令
sudo yum install dotnet-runtime-3.1

至此,net core 部分环境已经安装完毕,执行命令 dotnet --info,可查看已安装的 net core 相关环境,如下图:
Liunx(Centos 7)下一步一步部署 net core 项目

那么,先来一个 webapi 跑起来验证下。
执行命令 pwd 查看当前所在目录,执行cd home 来到家目录,执行 mkdir dev 新建一个专门的代码文件夹,执行 cd dev 来到dev;
执行 dotnet new webapi -o demoApi 新建一个名为 demoApi 的webapi 项目到 demoApi 文件夹,如下图
Liunx(Centos 7)下一步一步部署 net core 项目

cd demoApi来到项目根目录,执行 dotnet publish -c Release发布项目,成功如下图
Liunx(Centos 7)下一步一步部署 net core 项目

接着来到发布的 publish 目录,执行 dotnet demoApi.dll 运行项目,成功如下图:
Liunx(Centos 7)下一步一步部署 net core 项目

执行命令 cur http://localhost:5000/weatherforecast/,成功请求如下:
Liunx(Centos 7)下一步一步部署 net core 项目

到此,netcore环境已完成搭建;

二、配置守护者进程

这里我们使用 pm2 作为守护者进程。安装pm2 首先需要安装 node的环境:
node 环境搭建,我们采用源码编译安装的方式

  1. 安装 gcc、gcc-c++
    执行命令 yum -y install gcc gcc-c++ kernel-devel
  2. 下载源码
    wget https://nodejs.org/dist/v8.11.3/node-v8.11.3.tar.gz
  3. 解压,编译源码
    解压 tar -xzf node-v8.11.3.tar.gz
    编译cd node-v8.11.3
    ./configure
    make
  4. 安装
    make install
  5. 检查是否安装OK
    node -v
    npm -v
    有如下输出,表明node安装完成
    Liunx(Centos 7)下一步一步部署 net core 项目

安装配置pm2
执行 npm install pm2 -g,很快就会安装完成;
接下来,我们要把刚刚的webapi添加到 pm2的守护列表中,执行pm2 start "dotnet demoApi.dll" --name demoapi [因为博客是后面整理的,所以会有项目名称跟截图不对应的情况,请注意修改]
执行成功后,执行 pm2 list 来查看当前 pm2 中守护的应用程序列表,如下:
Liunx(Centos 7)下一步一步部署 net core 项目
可看到,应用程序状态为 online 表示守护添加成功。
pm2 stop 0停止应用
pm2 start 0 启动应用

守护者进程安装完成;

三、配置 nginx

安装 epel
sudo yum install epel-release
安装 nginx
sudo yum install nginx
启动 ngxin
sudo systemctl start nginx

关闭防火墙

sudo firewall-cmd --permanent --zone=public  --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

设置 nginx 开机启动

sudo systemctl enable nginx

nginx 安装完成后,在浏览器中输入服务器外网 ip 地址,会出现如下界面,证明nginx 安装成功;
Liunx(Centos 7)下一步一步部署 net core 项目

修改nginx 默认配置,编辑文件 etc/nginx/nginx.conf,注释掉红框中的内容
Liunx(Centos 7)下一步一步部署 net core 项目

etc/nginx/conf.d/的文件夹下,创建一个 testapi.conf 的文件,并添加如下内容:

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

nginx -s reload # systemctl restart nginx

此时,在浏览器中输入 服务器外网加接口地址,如果请求成功,则表明nginx配置成功。

Liunx(Centos 7)下一步一步部署 net core 项目

上一篇:php学习之道:坑爹的file_exists


下一篇:2019-2020-2 20175315陈煜扬《网络对抗技术》 Exp8 Web基础