继上一篇, 我们确定在内网可以通过 “http://localhost:5000”,可以访问到站点后,接下来我们要配置“守护进程”,“Nginx公网80端口访问”
1. 守护进程配置
a) 创建kestrel-hellomvc.service 文件
sudo vim /etc/systemd/system/kestrel-hellomvc.service
b) 粘贴以下内容
[Unit]
Description=Example .NET Web API Application running on CentOS[Service]
WorkingDirectory=/var/aspnetcore/hellomvc
ExecStart=/usr/local/bin/dotnet /var/aspnetcore/hellomvc/hellomvc.dll
Restart=always
RestartSec=10 # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=dotnet-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production[Install]
WantedBy=multi-user.target
c) 保存配置文件
:wq
d) 通过systemctl 管理服务
#启动守护进程
sudo systemctl start kestrel-hellomvc.service
#开机启动
sudo systemctl enable kestrel-hellomvc.service
-------------------------------------------------------------
常用命令
#启动进程
systemctl start ???
#停止进程
systemctl stop ???
#重新加载
systemctl reload ???
#状态
systemctl status ???
#开机启动
systemctl enable ???
#禁止开机启动
systemctl disable ???
d) 测试
有看到这句就是运行中了
PS: “www-data”CentOS无此用户,记得要先创建好,分配好权限
sudo useradd –M –s /sbin/nologin www-data
sudo chown www-data:root /var/aspnetcore/hellomvc
2. Nginx配置
a) 安装 nginx
sudo yum install nginx
b) 启动 nginx
sudo systemctl start nginx
sudo systemctl enable nginx
c) 配置反向代理
sudo vim /etc/nginx/sites-available/default
erver {
listen 80;
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;
}
}d) 重启反向代理
sudo systemctl reload nginx
e) 外网访问
PS: 如果访问不到,请检查防火墙是否开启,是否开放了80端口:
# 查看当前端口监听列表
netstat –tln
# 查看firewalld状态
sudo systemctl status firewalld
# 启动firewalld
sudo systemctl start firewalld
# 开机启动firewalld
sudo systemctl enable firewalld
# 查看80端口是否开放
firewall-cmd --query-port=80/tcp
# 开放80端口(—permanent 表示永久开放)
firewall-cmd --permanent --add-port=80/tcp
上一篇: .NET Core 部署到CentOS–1.创建项目,简单部署
下一篇: .NET Core 部署到CentOS–3.supervisord守护进
参考资料:
https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction
https://linux.cn/article-5926-1.html
.NET Core 部署到CentOS–2.创建守护进程, 通过Nginx公网访问的更多相关文章
-
.NET Core 部署到CentOS–1.创建项目,简单部署
开发环境:Windows 10,部署环境:阿里云 CentOS 7.3 1. 创建应用 1) 创建项目, 配置应用生成部署包 2) 配置项目 编辑project.json, 追加环境项, 选项可参考这 ...
-
.NET Core 部署到CentOS–3.supervisord守护进
1. 安装 sudo yum install python-setuptoolssudo easy_install supervisor 2. 配置 安装成功后,输入supervisord 会显示配置 ...
-
ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)
前言 在上篇文章中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序,本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程 ...
-
ASP.ENT Core Linux 下 为 donet创建守护进程(转载)
原文地址:http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html 前言 在上篇文章中介绍了如何在 Docker 容器中部署我们的 ...
-
Supervisor 为服务创建守护进程
今天需要再服务上部署一个.net 方面的项目:当时开启服务的命令只能在前台执行:使用nohub CMD &等放在后台开启服务都会宕机:所以搜寻了Supervisor 这个解决办法,为服务创建守 ...
-
创建守护进程步骤与setsid() -- linux deamon进程
原创:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且 ...
-
linux创建守护进程
守护进程deamon 是一个后台进程,无需用户输入就能运行,用来在系统后台提供某种服务. 常见的守护进程有Wbe服务器.邮件服务器以及数据库服务器等等.守护进程不能控制终端,所以任何的输入和输出都需要 ...
-
Python中创建守护进程
python 创建守护进程 python 的os.setdid()提供了类似linux c api的 setsid 也可以通过unix双fork创建守护进程. 几个相关的函数 os.umask(0) ...
-
linux 创建守护进程的相关知识
linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...
随机推荐
-
Introduction to replication 翻译
翻译自用,还有很多谬误之处,敬请甄别,转载请注明出处 Introduction to replication (replication介绍) Replication is one of the m ...
-
System.getProperty
我们可以通过System.getProperty("user.home")读取JAVA系统的user.home属性的值.
-
SQL Server 2008数据库重命名方法
假设SQL Server 2008中有个数据库test,现在要将其改名为zhy步骤:(1) 分离数据库:打开management studio,找到test数据库-->右键-->任务--& ...
-
js代码 设为首页 加入收藏
// JavaScript Document // 加入收藏 <a onclick="AddFavorite(window.location,document.title)" ...
-
java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包。
java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包.
-
【ASP.NET MVC 学习笔记】- 11 Controller和Action(2)
本文参考:http://www.cnblogs.com/willick/p/3331513.html 1.MVC一个请求的发出至action返回结果的流程图如下: 重点是Controller Fact ...
-
Source优化
优化Source主要包括以下几方面: 1 优化sqlquery 在mapping中,通常会在Source Qualifier组件中使用sqlquery读取数据,则优化通常包括以下几点: 1) 如果在 ...
-
LoadRunner JAVA Vuser接口测试
注:JDK只支持1.6 1.创建工程Test2.写个经典的HelloWorld类.3.Runas--->Java Application运行下4.将工程下的整个com包拷贝到loadrunner ...
-
提升----你所不知道的JavaScript系列(3)
很多编程语言在执行的时候都是自上而下执行,但实际上这种想法在JavaScript中并不完全正确, 有一种特殊情况会导致这个假设是错误的.来看看下面的代码, a = 2; var a; console. ...
-
C++学习笔记(2)----模板
1. 与其他任何类相同,我们既可以在类模板内部,也可以在类模板外部为其定义成员函数,且定义在类模板内的成员函数被隐式声明为内联函数. 2. 默认情况下,对于一个实例化了的类模板,其成员只有在使用时才被 ...