标签:部署 tle 端口 安装 targe star 系统 keepalive nts
1.安装dotnet runtime
首先注册微软产品仓库,这样就可以通过yum安装.NET Rumtime了。
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install aspnetcore-runtime-3.0
2,安装anginx
添加yum源,根据自己的服务器系统架构选择。http://nginx.org/packages/
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装
sudo yum install -y nginx
启动
sudo systemctl start nginx.service
现在本地访问服务器ip就可以看到nginx的欢迎页面了。
设置开机启动
sudo systemctl enable nginx.service
nginx全局配置文件在这里:/etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
可以看到它包含了这个目录下的所有配置文件:/etc/nginx/conf.d/,目录下有一个default.conf文件,这是nginx的默认配置,修改一下,或者新增一个conf文件。如果是新增的conf,监听端口不可以是80,因为默认配置中已经使用了80端口。我这里新增了一个firstnetcorev3.conf文件。
server { # 监听外网端口 listen 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; } }
重启nginx
nginx -s reload
3:开放端口
查看防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld
开放80端口,我同时开放了5000端口。
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
4.外网访问服务器网站
在本地浏览器直接输入服务器ip,正常打开nginx欢迎页面。我之前是新增了一个nginx配置文件,监听外部5000端口转发服务器内部5000端口,在本地访问服务器5000端口,报500错误。80端口正常,说明nginx运行正常,5000端口是刚刚部署的网站端口,500错误应该是网站没有启动。
进入网站发布路径,使用dotnet命令启动网站,然而报错了。
提示5000端口已经被使用了,原来是之前开放了防火墙5000端口,那就换另一个端口,先删除5000端口,再开放5001端口,重启防火墙。
firewall-cmd --zone=public --remove-port=5000/tcp --permanent firewall-cmd --zone=public --add-port=5001/tcp --permanent firewall-cmd --reload
修改firstnetcorev3.conf,将开放端口改成5001。进入网站发布路径,再次启动网站。
网站部署成功了,先小结一段。服务器多站点部署情况下,nginx可以使用多个配置文件,nginx监听的防火墙端口不可以和web应用程序运行的端口冲突。但是这种部署方式需要手动启动网站,虽然已经设置开机启动nginx服务,但是网站本身不会自动启动,重启服务器的话,需要手动启动网站。这个时候就需要一个程序自动启动网站了。
5:使用守护进程supervisor
安装supervisor
yum install supervisor
安装成功后,在/etc/目录下会产生一个supervisord.conf文件,打开文件查看,这一行:files = supervisord.d/*.ini,可以看到配置文件都在supervisord.d目录下,并且是ini格式。进入到supervisord.d目录,创建一个firstnetcorev3.ini文件。
[program:firstnetcorev3] command=dotnet publish2centos.dll directory=/home/wwwroot/firstnetcorev3/ autostart=true autorestart=true stderr_logfile=/var/log/firstnetcorev3.err.log stdout_logfile=/var/log/firstnetcorev3.out.log environment=ASPNETCORE_ENVIRONMENT=Production user=root startsecs=1 stopsignal=INT
启动supervisor,并设置为开机启动。
systemctl enable supervisord systemctl start supervisord systemctl is-enabled supervisord
重启服务器试试,在PuTTY里面用命令reboot弹出了一个弹窗,但是应该已经重启成功了,不确定的话,在云服务器控制面板重启服务器,完成重启后,再次访问服务器5001端口,网站运行正常。这样,AspNetCore网站部署在CentOS服务器就成功了。
标签:部署 tle 端口 安装 targe star 系统 keepalive nts
原文地址:https://www.cnblogs.com/o0zhangzh0o/p/12910138.html