CentOS 7,安装Nginx 并发布netcore项目

使用yum安装Nginx当使用以下命令安装Nginx时,发现无法安装成功yum install -y nginx需要做一点处理。安装Nginx源执行以下命令:rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-cent...

使用yum安装Nginx

当使用以下命令安装Nginx时,发现无法安装成功

yum install -y nginx

需要做一点处理。

安装Nginx源

执行以下命令:

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。

安装Nginx

安装完Nginx源后,就可以正式安装Nginx了。

yum install -y nginx

Nginx默认目录

输入命令:

whereis nginx

 

即可看到类似于如下的内容:

nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx

以下是Nginx的默认路径:

(1) Nginx配置路径:/etc/nginx/

(2) PID目录:/var/run/nginx.pid

(3) 错误日志:/var/log/nginx/error.log

(4) 访问日志:/var/log/nginx/access.log

(5) 默认站点目录:/usr/share/nginx/html

事实上,只需知道Nginx配置路径,其他路径均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查询到。

? 常用命令

(1) 启动:

nginx

(2) 测试Nginx配置是否正确:

nginx -t

(3) 优雅重启:

nginx -s reload

(4) 查看nginx的进程号:

ps -ef |grep nginx

(5)nginx服务停止

nginx -s stop

kill -9 pid

 

 

发布网站,配置服务和防火墙
  1. 发布网站后将发布后的网站上传到服务器。
  2. 使用dotnet myapp.dll启动网站。
  3. 在浏览器中打开网站的地址,检测网站正常启动并可访问。
  4. 如果需要外网访问需要在防火墙上开放相应的端口。具体操作:

#添加80端口:

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

#删除防火墙端口:

firewall-cmd --zone=public --remove-port=12345/tcp --permanent

#重新加载防火墙:

firewall-cmd --reload

#重启防火墙:

systemctl stop firewalld systemctl start firewalld

 

这个时候根据ip 就可以访问了

 

然后需要将发布的网站配置为服务和自动启动

 

#新建配置文件

touch /etc/systemd/system/myapp.service

#编辑配置文件:

[Unit]

Description=restapi.service 

 

[Service]

WorkingDirectory=/home/liaokui/mbapi

ExecStart= /usr/bin/dotnet /home/liaokui/mbapi/MB.Rest.dll

Restart=always

RestartSec=10  # Restart service after 10 seconds if dotnet service crashes

SyslogIdentifier=restapi

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]

WantedBy=multi-user.target

 

 

 

 

#服务开机启动

systemctl enable restapi.service

 

#启动服务

systemctl start restapi.service

 

#查看服务状态

systemctl status restapi.service

 

有个问题是我的项目使用的配置文件路径:Path.Combine("Config", "Nlog.config") 在发布的时候定向到root/config了 所以把这个文件夹复制到root文件夹里面就好了

本文标题为:CentOS 7,安装Nginx 并发布netcore项目

基础教程推荐