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