序言
此教程安裝的都是最新版本的。
一鍵安裝
有了這個神器,下面的教程就不用做了!只需運行幾行代碼,直接打開瀏覽器就可以訪問!
cd /home/
wget https://files.cnblogs.com/files/project/install.sh
chmod 777 install.sh ./install.sh
准備工作
1. 更新系統
沒啥,就他喵想用個最新的。
apt update && apt upgrade
2. 創建目錄
創建目錄,分別用來放配置文件和網站。
mkdir /web/
一、ASP.NET Core
官方網站:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-debian10
1. 注冊Microsoft密鑰和訂閱源
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ wget -q https://packages.microsoft.com/config/debian/10/prod.list sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
2. 安裝.NET Core SDK
sudo apt-get update sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-3.1
3. 利用.NET Core SDK創建一個web實例
創建 Web 應用項目
cd /web/
dotnet new webapp -o app
二、Supervisor
官方網站:http://www.supervisord.org/
1. 安裝Supervisor
apt install -y supervisor
2. 編輯supervisord.conf
vim /etc/supervisor/supervisord.conf
3. 新建配置文件
將下面配置文件存到/etc/supervisor/conf.d/app.conf
[program:app] command=dotnet run ;要執行的命令 directory=/web/app/ ;命令執行的目錄 autostart=true ;是否自動啟動 autorestart=true ;是否自動重啟 stderr_logfile=/var/log/webapp.err.log ;標准錯誤日志 stdout_logfile=/var/log/webapp.out.log ;標准輸出日志
4. 重新啟動
supervisorctl shutdown
supervisord -c /etc/supervisor/supervisord.conf
四、Nginx
官方網站:http://nginx.org/
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 https://localhost:5001; 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 -s reload
五、效果預覽

附、常用命令
nginx
# nginx //啟動nginx
# nginx -s reload //重啟nginx
# nginx -s stop //關閉nginx
supervisor
supervisord supervisorctl status //查看所有任務狀態
supervisorctl shutdown //關閉所有任務
supervisorctl start|stop|restart all //控制所有進程
supervisorctl start|stop|restart program_name //控制目標進程
