CentOS7部署发布.NET Core网站Ngnix安装配置图文教程
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个月前相关文章
- 【说站】linux 如何退出python
- dev/hda5在linux中表示什么
- linux高并发是什么意思
- linux为什么没有病毒
- linux nobody是啥用户
- 国内申请New Bing ChatGPT 加入候补名单Edge Dev图文教程
- react使用echart图文教程
- linux 命令之查看文件内容
- 绿叶博客安装图文教程
- linux 命令之 ls 命令详解
- Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作
- linux shell的几种截取字符串的方法
- Linux中date命令如何格式化输出需要的时间格式
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- CentOS离线安装unzip
- Debian Linux国内常用镜像源
- CentOS7安装unzip解压工具命令使用方法
- Linux使用Docker部署.NET6网站图文教程
- Linux中通过命令连接指定WiFi
- Centos 镜像文件下载