雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

2024-10-12 Linux 47

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。

首先安装.NET运行时

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-runtime-6.0
sudo yum install aspnetcore-runtime-6.0

安装后可以通过dotnet --info查看安装信息

发布网站,上传到服务器

这个很简单,右键Visual Studio项目解决方案,选择发布到文件夹即可。

目标运行时选择可移植或者Linux。

我没装ftp,所以直接把发布的文件夹压缩成zip格式,然后放到服务器上。

然后在CentOS服务器上通过wget -P /webs https://xxx/xx.zip命令把发布程序下载下来了。

这里我把xx.zip文件下载到/webs文件夹下面。

下载完成后,进入文件所在文件夹

cd /webs

然后运行命令解压文件

unzip dd.zip -d mvcweb

如果没有zip工具可以安装一下

yum install -y unzip zip

安装Ngnix

先安装Ngnix依赖包

yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

然后下载nginx安装包

http://nginx.org/en/download.html 这是nginx官方下载网站,我们选择nginx-1.22.1

wget -P /webs http://nginx.org/download/nginx-1.22.1.tar.gz

这里我们也是下载到/webs文件夹下。下载完成后进入下载文件夹,解压nginx安装包。

tar -zxvf nginx-1.22.1.tar.gz

进入解压后的文件夹

cd nginx-1.22.1

然后配置Nginx

./configure

编译安装

make
make install

安装完成后修改nginx代理配置

vi /usr/local/nginx/conf/nginx.conf

这里修改Server下面的listen改为80,server_name改为公网IP或者域名。

然后在Location下面加上 proxy_pass http://localhost:5000; 这个地址为dotnet运行的地址(不设置端口的话默认5000端口)。

运行nginx

cd /usr/local/nginx/sbin
./nginx

启动.Net Core网站

cd /webs/mvcweb
dotnet DotNetCoreWeb.dll

这里默认以5000端口启动网站。

然后通过公网或者域名就能访问到网站了。

防火墙端口设置

如果无法访问的话可以尝试防火墙打开80端口。

firewall-cmd --zone=public --add-port=80/tcp --permanent

这里permanent参数的意思是永久生效,没有此参数重启后失效

firewall-cmd --reload

重新载入防火墙

firewall-cmd --zone=public --list-ports

查看已经开启的端口

如果是使用例如阿里云等云服务器的话,端口安全控制可能是在控制台操作的。以本文为例,使用了阿里云的云服务器,可以在安全规则里加入一条80端口允许入站请求就可以了。

以上的操作过程可以保证让网站运行并且可以使用80端口访问。实际发布网站还需要做一些配置,比如作为服务启动,多域名多站点部署等,在后面的文章里详细介绍。

上面截图记录了网站成功运行了。有个地方值得注意的是程序读取文件时的路径,在Windows服务器上是不区分/和\的,但是在Linux里使用\是会找不到目录报错的。

更新于:1个月前
赞一波!

文章评论

评论问答