本文主要内容速览:
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 相关环境,如下图:
那么,先来一个 webapi 跑起来验证下。
执行命令 pwd
查看当前所在目录,执行cd home
来到家目录,执行 mkdir dev
新建一个专门的代码文件夹,执行 cd dev
来到dev;
执行 dotnet new webapi -o demoApi
新建一个名为 demoApi 的webapi 项目到 demoApi 文件夹,如下图
cd demoApi
来到项目根目录,执行 dotnet publish -c Release
发布项目,成功如下图
接着来到发布的 publish 目录,执行 dotnet demoApi.dll
运行项目,成功如下图:
执行命令 cur http://localhost:5000/weatherforecast/
,成功请求如下:
到此,netcore环境已完成搭建;
二、配置守护者进程
这里我们使用 pm2 作为守护者进程。安装pm2 首先需要安装 node的环境:
node 环境搭建,我们采用源码编译安装的方式
- 安装 gcc、gcc-c++
执行命令yum -y install gcc gcc-c++ kernel-devel
- 下载源码
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3.tar.gz
- 解压,编译源码
解压tar -xzf node-v8.11.3.tar.gz
编译cd node-v8.11.3
./configure
make
- 安装
make install
- 检查是否安装OK
node -v
npm -v
有如下输出,表明node安装完成
安装配置pm2
执行 npm install pm2 -g
,很快就会安装完成;
接下来,我们要把刚刚的webapi添加到 pm2的守护列表中,执行pm2 start "dotnet demoApi.dll" --name demoapi
[因为博客是后面整理的,所以会有项目名称跟截图不对应的情况,请注意修改]
执行成功后,执行 pm2 list
来查看当前 pm2 中守护的应用程序列表,如下:
可看到,应用程序状态为 online 表示守护添加成功。pm2 stop 0
停止应用pm2 start 0
启动应用
守护者进程安装完成;
三、配置 nginx
安装 epelsudo yum install epel-release
安装 nginxsudo yum install nginx
启动 ngxinsudo 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 安装成功;
修改nginx 默认配置,编辑文件 etc/nginx/nginx.conf
,注释掉红框中的内容
在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配置成功。