序言
此教程安装的都是最新版本的。
一键安装
有了这个神器,下面的教程就不用做了!只需运行几行代码,直接打开浏览器就可以访问!
cd /home/wget https://files.cnblogs.com/files/project/install.shchmod 777 install.sh./install.sh
准备工作
1. 更新系统
没啥,就他喵想用个最新的。
apt update && apt upgrade
2. 创建目录
创建目录,分别用来放配置文件和网站。
mkdir /web/
一、ASP.NET Core
官方网站:
1. 注册Microsoft密钥和订阅源
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpgmv microsoft.asc.gpg /etc/apt/trusted.gpg.d/wget -q https://packages.microsoft.com/config/debian/9/prod.listmv prod.list /etc/apt/sources.list.d/microsoft-prod.listchown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpgchown root:root /etc/apt/sources.list.d/microsoft-prod.list
2. 安装.NET SDK
apt update apt install aspnetcore-runtime-2.1
3. 配置
此处下载的是我用vs2017生成的asp.net core,仅供演示!
mkdir /web/wwwcd /web/wwwwget https://files.cnblogs.com/files/project/webapp.tar.gztar -zxf webapp.tar.gz
二、Supervisor
官方网站:
1. 安装Supervisor
apt install -y supervisor
2. 编辑supervisord.conf
vim /etc/supervisor/supervisord.conf
3. 追加如下
[program:webapp]command=dotnet webapp.dll ;要执行的命令directory=/web/www/ ;命令执行的目录autostart=true ;是否自动启动autorestart=true ;是否自动重启stderr_logfile=/var/log/webapp.err.log ;标准错误日志stdout_logfile=/var/log/webapp.out.log ;标准输出日志
4. 运行
supervisord -c /etc/supervisor/supervisord.conf
四、Nginx
官方网站:
1. 安装nginx
apt install -y nginx
2. 编辑nginx.conf
vim /etc/nginx/nginx.conf
3. 修改如下
worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost; location / { proxy_pass http://127.0.0.1:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; } }}
4. 运行
nginx
五、效果预览
附、常用命令
nginx
# nginx //启动nginx# nginx -s reload //重启nginx# nginx -s stop //关闭nginx
supervisor
supervisordsupervisorctl status //查看所有任务状态supervisorctl shutdown //关闭所有任务supervisorctl start|stop|restart all //控制所有进程supervisorctl start|stop|restart program_name //控制目标进程