CentOS 7环境下使用Nginx托管.Net Core应用程序(4)

[Unit] Description=nginx - high performance web server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop [Install] WantedBy=multi-user.target

文件编辑完成之后,运行以下命令启动服务:

systemctl enable nginx.service # 启动nginx服务 systemctl start nginx.service # 查看状态 systemctl status nginx.service

结果如下:

CentOS 7环境下使用Nginx托管.Net Core应用程序

这里之所以有一个警告,是因为我们使用的证书是自己生成的,而不是正式的证书。

通常,对配置文件修改后需要重启服务,执行以下命令:

# 如果修改了文件,这个是必须的 systemctl daemon-reload
# 重新启动服务 systemctl restart nginx.service

七、防火墙相关

以下的三个端口是必须要开的 ,其他的视情况而定。

#端口 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=5000/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent #开端口后必须重新加载 firewall-cmd --reload # 查看所有打开的端口: firewall-cmd --list-ports

具体的操作如图所示:

重新加载并显示端口

CentOS 7环境下使用Nginx托管.Net Core应用程序

 

八、访问相关

以上的配置完成之后,如果环境使用的是真实的物理机,或者是桥接的虚拟机,直接访问ip地址就可以了。

如果是NAT连接的虚拟机,需要进行端口映射。本实验使用的VirtualBox 搭建的虚拟机,以此为例,按下图进行设置即可。

CentOS 7环境下使用Nginx托管.Net Core应用程序

如果是直接在虚拟机中进行浏览,浏览127.0.0.1 或者localhost 即可。

如果是从主机进行访问,可在主机的浏览器中输入https://192.168.56.1:1518,即可映射到虚拟机的443端口,这样就可以通过https进行访问虚拟机中的ntmvc项目。

由于在nginx.conf中配置了 add_header Strict-Transport-Security max-age=15768000;  即只能允许https访问, 因此输入:1518 会提示错误。

正常的访问结果如下图所示(谷歌浏览器),之所以会出现这样的提示,是因为所用的证书是自己生成的。

CentOS 7环境下使用Nginx托管.Net Core应用程序

继续访问即可访问ntmvc中的页面,如下图:

CentOS 7环境下使用Nginx托管.Net Core应用程序

官方参考文档:

https://docs.microsoft.com/zh-cn/aspnet/core/publishing/linuxproduction?tabs=aspnetcore2x

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a69d38a00444bd52fb763d7d93126fb5.html