zoukankan      html  css  js  c++  java
  • ASP.Net Core 运行在Linux(CentOS)

    Linux Disibutaion:CentOS 7.1

    Web Server:Apache、Kestrel

    1、安装.net core

    sudo yum install libunwind libicu
    curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019
    sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
    sudo ln -s /opt/dotnet/dotnet /usr/local/bin
    

    2、新建asp.net core mvc项目

    #新建文件夹hwapp
    mkdir hwapp
     
    #进入hwapp文件夹
    cd hwapp
     
    #新建asp.net core mvc项目
    dotnet new -t web
     
    #还原.net core nuget包
    dotnet restore
    

    3、安装npm,gulp,bower

    wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.xz
    xz -d node-v6.9.1-linux-x64.tar.xz
    #安装npm
    sudo tar --strip-components 1 -xvf node-v* -C /usr/local
    #安装gulp
    sudo npm install gulp -g
    #安装bower
    sudo npm install bower -g
    

    4、发布项目

    cd /home/$1/hwapp
    #发布项目
    dotnet publish -c Release
    

    5、安装并配置Apache

    #更新
    sudo yum update -y
    #安装apache
    sudo yum -y install httpd mod_ssl
    

    进入/etc/httpd/conf.d目录,添加hwapp.conf文件,并将如下内容写入文件中

        <VirtualHost *:80>
            ProxyPreserveHost On
            ProxyPass / http://127.0.0.1:5000/
            ProxyPassReverse / http://127.0.0.1:5000/
            ErrorLog /var/log/httpd/hwapp-error.log
            CustomLog /var/log/httpd/hwapp-access.log common
        </VirtualHost>
    

    检查配置文件是否正确,如果看到"Syntax [OK]"则说明配置正确

    sudo service httpd configtest
    

    重启Apache

    sudo systemctl restart httpd
    sudo systemctl enable httpd
    

    按理来说,到这一步应该已经可以访问我们部署的网站了,但是在CentOS下有一个细节需要注意:SELinux的安全策略导致网站无法访问。

    #查看selinux状态
    
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    getenforce
    #这里我们需要把SELinux的值修改为disabled
    vi /etc/selinux/config
    

     修改完SELinux,重启虚机

    6、安装Supervisor

    yum install python-setuptools
    easy_install supervisor
    

    配置Supervisor

    mkdir /etc/supervisor
    echo_supervisord_conf > /etc/supervisor/supervisord.conf
    #指定配置文件
    supervisord -c /etc/supervisor/supervisord.conf
    

    指定守护的程序配置

    vi /etc/supervisor/supervisord.conf
    

    在supervisord.conf最后加入

    [include]
    files=conf.d/*.conf
    

    进入目录/usr/lib/systemd/system/,新建一个“supervisord.service”文件

    # dservice for systemd (CentOS 7.0+)
    # by ET-CS (https://github.com/ET-CS)
    [Unit]
    Description=Supervisor daemon
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    ExecStop=/usr/bin/supervisorctl shutdown
    ExecReload=/usr/bin/supervisorctl reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s
    
    [Install]
    WantedBy=multi-user.target
    

    执行命令

    systemctl enable supervisord
    systemctl start supervisord
    

    配置守护进程,进入目录/etc/supervisor/conf.d/,新建文件“hwapp.conf”

    [program:hwapp]
    command=/usr/local/bin/dotnet /var/hwapp/hwapp.dll --server.urls:http://*:5000
    directory=/var/hwapp/
    autostart=true
    autorestart=true
    stderr_logfile=/var/log/hwapp.err.log
    stdout_logfile=/var/log/hwapp.out.log
    environment=ASPNETCORE_ENVIRONMENT=Production
    user=azureuser
    stopsignal=INT
    

    重新加载配置

    sudo supervisorctl reload
    sudo supervisord
    sudo supervisorctl
    

    查看是否被守护进程拉起

    ps -ef|grep dotnet
    

     

    部署成功

  • 相关阅读:
    HDU1720 A+B Coming
    HDU1390 ZOJ1383 Binary Numbers
    HDU1390 ZOJ1383 Binary Numbers
    HDU2504 又见GCD
    HDU2504 又见GCD
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1020 ZOJ2478 Encoding
    HDU1020 ZOJ2478 Encoding
    HDU2097 Sky数
  • 原文地址:https://www.cnblogs.com/rampb/p/6126439.html
Copyright © 2011-2022 走看看