一、配置修改
发布前 修改API 项目内 Properties 文件夹下launchSettings.json文件
如 下图所示 设置
二、修改API项目
打开Program文件夹,如下修改
之后 利用VS2019资源管理器发布,设置参数,可选择可移植,也可直接选定发布系统
三、服务器
1、安装SDK
打开微软官网给出的步骤:
https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-current
安装成功后 输入 dotnet --version 查看是否有版本号,看是否安装成功。
2、上传发布后文件夹内的所有文件至服务器
本机打开CMD使用命令 scp -r -P 22 [发布路径] [目标路径]
3、打开目标路径,使用命令进入该文件夹内,输入dotnet API程序名称.dll
若成功则提示如下
成功后 可直接通过postman调用接口测试是否数据正确
到这已经发布成功了。后面是为了保护服务在线。
四、安装守护程序
推荐使用supervison
centos7 的安装命令: yum install supervison.
在/etc/supervisor/conf.d目录下新建一个名为MApi.conf的文件,内容如下
修改配置文件内容
[program:MApi]
command=dotnet API.dll
directory=/var/www/fdaserver/linux-x64
autorestart=true
stderr_logfile=/var/log/WebApplication1.err.log
stdout_logfile=/var/log/WebApplication1.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
特别要注意的是command和directory两行。
修改了配置,我们重新启动supervisor,运行以下语句:
sudo supervisorctl reload
这时,我们关掉终端窗口,也能在浏览器中看到页面了。
5、安装和配置Nginx
在这里,Nginx是一个代理的作用。它接受请求,然后交给.NET Core自带的服务器Kestrel去处理。
首先,我们执行以下语句安装Nginx:
sudo apt-get install nginx
安装完成以后,如果我们在浏览器输入http://localhost/,将会看到提示
接着,打开/etc/nginx/sites-avaliable目录下的default文件,把里面的内容全部替换成:
server {
listen 9001;
location / {
proxy_pass http://localhost:9000;
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;
}
}
不要犹豫,整个文件替换就行(原有的内容很多,但大部分都是注释)。
在文件里面,我们把http://localhost:9000这个域下面的所有请求,都转到了端口9001上。
改完配置之后,重启Nginx服务:
service nginx reload
我们打开浏览器,输入地址:http://localhost:9001/api/values/,将看到以下页面
至此,全部的配置工作就完成了。