您的位置:首页 > 运维架构 > Linux

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

  大体类似,只是在发布期间遇到一些问题,做了一些记录。可能其他人遇到的问题都不尽相同,可以参考其他两篇文章。

配置:

服务器: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


到此大公告成!!访问地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: