部署asp.net core 2.1到Centos 7

步骤要点:

一、关闭Centos selinux:

操作方式:

1.永久关闭:打开/etc/selinux/config文件,设置SELINUX=disabled,注意,不是SELINUXTYPE=disabled否则重启后无法进入linux)。

2.临时关闭,不用重启:setenforce 0    #设置SELinux为permissive模式

二、安装微软产品密匙及dotnet:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

再安装asp.net core 2.1:yum -y install dotnet-sdk-2.1

安装完成后,运行:dotnet -verison可以查看是否安装成功。

三、上传项目:

首先在服务器端安装lrzsz工具包,所需命令:yum install lrzsz

安装完成后,用xshell链接到服务器,并切换到所需上传的目录下,运行命令:rz,然后选择所需文件上传即可。

四、测试dotnet及项目文件:

在项目文件目录下,运行 dotnet *****dll,默认启动5000端口,然后在浏览器查看项目运行情况。

五、安装nginx:

curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

rpm -ivh nginx.rpm

yum install nginx

安装完成后,启动nginx:systemctl start nginx 及 systemctl enable nginx

firewall-cmd --zone=public --add-port=80/tcp --permanent

systemctl restart firewalld

这时候,还需要配置nginx,打开 /etc/nginx/conf.d/default.conf 文件,修改其server部分,如下:

server {
    listen       80;
    #server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

     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,重启nginx

最终,示例项目运行结果如下:

 另外,在部署时候,需要将Program.cs里面的代码修改如下:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
            .UseUrls("http://*:5000")
            .UseContentRoot(AppContext.BaseDirectory)
            .UseStartup<Startup>();

发布后,将wwwroot外面的文件转移到wwwroot文件夹内,并运行dotnet *** 即可运行(查看控制台,不再出现404找不到文件情况发生)。

 

参考文献:http://www.cnblogs.com/ants/p/5732337.html,在此表示感谢。

 

posted @ 2018-10-05 23:10  Shapley  阅读(141)  评论(0编辑  收藏  举报