前言:
我有一个netcore6.0的系统接口和手机端程序的站点程序之前是部署在一台windows测试服务器的IIS站点中, 服务器最近压力太大扛不住了,买了一台centos7.9的阿里云服务器准备进行迁移。具体操作日记如下。
一、安装宝塔面板
这一步涉及到服务器密码,不截图示范了,可自行到宝塔面板官网按照提示进行安装。
二、安装netcore sdk(也可安装netcore runtime)
参考微软官网链接:在 CentOS Linux 上安装 .NET - .NET | Microsoft Learn
1、打开命令行终端窗口
在宝塔面板左侧 点“终端”菜单,打开命令行界面。
2、安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库,不加这个直接安装SDK会失败。 打开终端并运行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
3、安装SDK
运行下面的命令:
sudo yum install dotnet-sdk-6.0
中间要按照提示输入两次 y 命令。
如下图所示
4、安装运行时(安装了SDK就不需要这一步)
sudo yum install aspnetcore-runtime-6.0
三、发布.NET程序
我选择的是发布 运行时为可移植环境 的程序。
四、安装nginx并配置站点
1、安装nginx
2、配置站点
在网站菜单中点击“添加”按钮,添加站点,站点需要有域名,任意域名比如二级域名也可以。
PHP版本选择 “纯静态”。
注意:我们使用的域名要配置解析到当前服务器的IP地址,具体如何解析请自行百度。
我用的是阿里云的域名管理做的解析,而且我用了两个二级域名(因为我现有域名已经在跑站点了,这个新服务器是做迁移用的),一个用来测试当前站点配置是否成功,另一个域名是正式在用的站点域名,等测试完成后再解析到新服务器。
3、配置站点的nginx配置文件
复制下面这段配置代码,到站点管理列表的右侧,点设置按钮,在弹窗里选择“配置文件”菜单,然后将配置内容粘贴到 root/wwwroot 开头的配置行下面。
http://localhost:5000 这个端口应该是可以修改的。
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;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
4、给站点在界面上配置反向代理(这个跟上面第3步选一个配置就好)
打开站点配置,反向代理,添加反向代理
填写一个名称,目标URL填 http:
//localhost:5000
发送域名这里填自己的域名(或者IP)即可,也可以填写 $host,代表当前请求的任何域名。
5、上传已发布的.NET程序
在上传.NET程序之前,请考虑您是否需要将站点工作目录改成数据盘,如果你的服务器有数据盘,而且又没挂载,但是你想使用数据盘做为工作目录,建议跳转到下面这个链接先挂载数据盘,并到数据盘创建好目录,修改站点工作目录到数据盘的目录:
阿里云centos7.9 挂载数据盘 并更改宝塔站点根目录-CSDN博客
如果没有数据盘,站点工作目录就用他宝塔自动建的,上面的就可以忽略并继续了。
找到自己发布的.NETCORE程序的publish目录。然后到宝塔里面找到刚才添加的站点对应的根目录,点列表左上角的按钮 “上传下载”。 然后在弹窗的左上角“上传文件”按钮中选择上传文件夹,再选择publish目录,在右下角点击开始上传。
等待上传完毕,在根目录下会出现一个publish文件夹,点击进入,把这个目录下的文件全选,剪切,再回到上一级根目录粘贴,发布的.NET程序上传完成。
五、安装和配置守护进程supervisor
1、到软件商店中搜索supervisor,然后在列表行右侧点击安装,如下图所示。
2、给站点配置守护进程
至此!就可以测试域名是否能正常访问站点了。
总结:
网上有的资料介绍说要给站点设置界面中 配置反向代理,有的是配置nginx。我用的是配置nginx配置文件。
另外修改站点配置或者给站点文件升级覆盖,要生效都得到软件商店搜索supervisor,对站点守护进程进行重启。