ASP.NET Core Linux 发布
2017-06-25 13:06
197 查看
这篇博客参考了以下文章:
1、http://www.cnblogs.com/ants/p/5732337.html
2、http://www.linuxidc.com/Linux/2016-11/137010.htm
大体类似,只是在发布期间遇到一些问题,做了一些记录。可能其他人遇到的问题都不尽相同,可以参考其他两篇文章。
相关工具:WinSCP(ftp工具),PuTTY
开发工具:vs2017
相关软件:nginx、supervisor
安装.NET Core SDK
首先安装依赖 输入命令
[b]
[/b]
下载sdk 地址:https://www.microsoft.com/net/download/linux 选择centos7.1的,下载完成后通过winscp 上传到 centos上(注意上传的位置)
注意下载后的文件名称以及上传的目录地址。
创建文件夹:
解压缩:
创建连接:
输入:
到此SDK就安装成功了!!
在wwwroot文件夹下 执行:
注意吧程序集名称换成自己本地的程序集名称
下载地址:https://nginx.org/download/nginx-1.12.0.tar.gz 注意下载的时候选择对应的版本号
执行以下命令
注意如果./configure 失败,大多是没有安装编译工具,执行:
将nginx执行路径加到path环境变量上,避免每次启动nginx 都需要在nginx目录下
添加
然后输入以下命令来应用:
修改nginx配置文件:
配置如下:
重启nginx:
开放端口号(管理员操作):
执行:
到这里就可以访问了^.^
下载源码,下载地址:https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
上传到服务器,执行命令:
安装过程中可能会提示:meld3>=0.6.5的错误
解决办法:
配置supervisor:
修改supervisord.conf:
增加如下内容:
创建配置文件demoweb.conf:
增加如下内容:
运行supervisor:
到此大公告成!!访问地址
1、http://www.cnblogs.com/ants/p/5732337.html
2、http://www.linuxidc.com/Linux/2016-11/137010.htm
大体类似,只是在发布期间遇到一些问题,做了一些记录。可能其他人遇到的问题都不尽相同,可以参考其他两篇文章。
配置:
服务器:centos7(hyper虚拟机)相关工具:WinSCP(ftp工具),PuTTY
开发工具:vs2017
相关软件:nginx、supervisor
概述:
请注意博客发布的时间,现在是asp.net core 的1.0版本,在linux 上,微软官方推荐nginx 做web服务器,监听80端口,然后转发到asp.net core站点上,asp.net core 站点用supervisor 守护。准备:
vs2017 新建一个空的asp.net core 项目,然后以文件系统方式发布项目,确认本地运行一切正常。第一步: 安装centos,.NET Core SDK
安装centos安装.NET Core SDK
首先安装依赖 输入命令
sudo yum install libunwind libicu
[b]
[/b]
下载sdk 地址:https://www.microsoft.com/net/download/linux 选择centos7.1的,下载完成后通过winscp 上传到 centos上(注意上传的位置)
注意下载后的文件名称以及上传的目录地址。
创建文件夹:
sudo mkdir -p /opt/dotnet
解压缩:
sudo tar zxf dotnet.tar.gz -C /opt/dotnet
创建连接:
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
输入:
dotnet --info
到此SDK就安装成功了!!
第二步:上传ASP.NET Core
用winscp将文件 上传到/home/yin/wwwroot/在wwwroot文件夹下 执行:
dotnet demoweb.dll
注意吧程序集名称换成自己本地的程序集名称
第三步:配置nginx
采用源码安装方式安装Nginx下载地址:https://nginx.org/download/nginx-1.12.0.tar.gz 注意下载的时候选择对应的版本号
执行以下命令
tar -zxvf nginx-1.12.0.tar.gz cd nginx-1.12.0 ./configure make sudo make install
注意如果./configure 失败,大多是没有安装编译工具,执行:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
将nginx执行路径加到path环境变量上,避免每次启动nginx 都需要在nginx目录下
vi ~/.bashrc
添加
export PATH="/usr/local/nginx/sbin:$PATH"
然后输入以下命令来应用:
source ~/.bashrc
修改nginx配置文件:
vi /usr/local/nginx/conf/nginx.conf
配置如下:
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:
nginx -s reload
开放端口号(管理员操作):
firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld
执行:
dotnet /home/yin/wwwroot/demoweb.dll
到这里就可以访问了^.^
第四步:安装supervisor
我们需要监听asp.net core站点的运行情况,如果发生异常需要自动重启,为了解决这个问题我们需要安装supervisor。下载源码,下载地址:https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
上传到服务器,执行命令:
tar zxvf supervisor-3.3.2.tar.gz cd supervisor-3.3.2 sudo python setup.py install
安装过程中可能会提示:meld3>=0.6.5的错误
解决办法:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/p/python-meld3-0.6.10-1.el7.x86_64.rpm sudo rpm -ivh python-meld3-0.6.10-1.el7.x86_64.rpm
配置supervisor:
mkdir /etc/supervisor echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改supervisord.conf:
vi /etc/supervisor/supervisord.conf
增加如下内容:
[include] files = conf.d/*.conf
创建配置文件demoweb.conf:
mkdir conf.d vi demoweb.conf
增加如下内容:
[program:demoweb] command=dotnet demoweb.dll directory=/home/yin/wwwroot/ autorestart=true stderr_logfile=/var/log/demoweb.err.log stdout_logfile=/var/log/demoweb.out.log environment=ASPNETCORE_ENVIRONMENT=Production user=root stopsignal=INT
运行supervisor:
supervisord -c /etc/supervisor/supervisord.conf
到此大公告成!!访问地址
相关文章推荐
- ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
- Asp.net Core 初探(发布和部署Linux)
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
- ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
- ASP.NET CORE Linux发布工具(文件对比 只上传差异文件;自动启停WebServer命令;上传完成自动预热WebServer)
- Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
- 关于ASP .NET Core在跨平台的linux ubuntun,SUSE ,Mac OS的发布的相关平台操作
- ASP.NET Core 2.0 MVC 发布部署--------- SUSE 16 Linux Enterprise Server 12 SP2 X64 具体操作
- Asp.net Core 初探(发布和部署Linux)
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
- ASP.NET Core程序发布到Linux生产环境详解
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目
- Asp.net Core 初探(发布和部署Linux)
- 发布ASP.NET Core程序到Linux生产环境
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目