.Net Core 部署到Ubuntu 16.04 中的步骤

须要安装的工具html

  • .Net Core
  • Nginx反向代理服务器(至关于Windows下的IIS)
  • Supervisor(进程管理工具)

.Net Core安装方法请参阅linux

官方文档nginx

 

安装完成后就能够在项目文件夹,使用如下命令启动网站ubuntu

dotnet xxx.dll

而后就能够在浏览器打开localhost:5000(5000为默认端口,若是有修改,请使用实际端口)浏览器

可是如今还不能经过ip访问,这就须要Nginx实现。服务器

 

Nginx
工具

 

经过命令安装:网站

sudo apt-get install nginx

而后配置nginx的代理转发,修改/etc/nginx/sites-available/default,修改内容以下spa

//若是没有权限修改,请使用 sudo chmod 777 xxx 修改权限(xxx表示文件夹路径或者文件名)

server {
    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;
    }
}

 

 

保存退出,而后从新加载nginx代理

 

sudo nginx -t

sudo nginx -s reload

这样就实现了经过IP访问

然而,重启后咱们会发现网站并无开机启动,这个时候就须要Supervisor了


Supervisor


安装:

sudo apt-get install supervisor

安装完成以后,在 /ect/supervisor/confg.d/ 目录下新建一个配置文件,取名为 TestCore.conf (我取的是当前项目的名称)

使用命令新建文件:

sodu touch TestCore.conf

打开TestCore.conf,写入以下命令(若是没有权限,请参照上面的方法):

[program:TestCore]
command=dotnet TestCore.dll #要执行的命令
directory=/home/xx/TestCore #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=www-data #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs=1 #自动重启间隔
stderr_logfile=/var/log/TestCore.err.log #标准错误日志
stdout_logfile=/var/log/TestCore.out.log #标准输出日志

//注:#内容为注释,代码中请删除

配置好之后,须要从新加载一下配置

sudo service supervisor stop
sudo service supervisor start

接下来重启机器,发现能够自动运行

 参考文章:http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

相关文章
相关标签/搜索