1.1 配置 Kestrel 綁定本機端口。
打開【/runroot/appsettings.json】,可以看到 Kestrel 默認綁定本機地址和端口【localhost:5000】。
localhost 等于 127.0.0.1,使用 Kestrel 綁定本機地址和端口,可以與反向代理(Nginx, Apache)一起使用。
你可以自定義 Kestrel 綁定的端口(建議端口范圍 5000-60000),只要該端口沒有占用。
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://localhost:5000"
}
}
}
1.2 驗證 Kestrel 是否正常工作。
在 Linux 命令行中啟動 Kestrel Web 服務器。
Linux 命令
復制
sudo dotnet /expressoa/approot/runroot/ExpressOA.dll
測試 HTTP 訪問 Kestrel Web 服務器。
Linux 命令
復制
curl http://localhost:5000
1.3 配置 Linux 后臺服務【expressoa.service】。
Systemd 是 Linux 系統工具,用來啟動守護進程,已成為大多數 Linux 發行版的標準配置。
拷貝【/runroot/expressoa.service】到【/etc/systemd/system】。
Linux 命令
復制
sudo cp /expressoa/approot/runroot/expressoa.service /etc/systemd/system
使用【vim】編輯【expressoa.service】,把部署路徑【/expressoa/approot/】修改為實際的部署路徑。
Linux 命令
復制
sudo vim /expressoa/approot/runroot/expressoa.service
expressoa.service
[Unit]
Description=ExpressOA Pro
[Service]
WorkingDirectory=/expressoa/approot/runroot
ExecStart=/usr/bin/dotnet /expressoa/approot/runroot/ExpressOA.dll
Restart=always
RestartSec=10
SyslogIdentifier=expressoa
User=root
Environment=DOTNET_ROOT=/usr/lib64/dotnet
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target
1.4 啟動服務【expressoa.service】。
安裝服務
Linux 命令
復制
sudo systemctl enable /etc/systemd/system/expressoa.service
啟動服務
Linux 命令
復制
sudo systemctl start expressoa
停止服務
Linux 命令
復制
sudo systemctl stop expressoa
查看服務狀態
Linux 命令
復制
sudo systemctl status expressoa
3.1 配置 Nginx 反向代理,把外部 HTTP 請求轉發到 Kestrel。
使用【vim】編輯 nginx 配置文件【/etc/nginx/sites-available/default】。
vim 編輯 nginx 配置文件
復制
sudo vim /etc/nginx/sites-available/default
下面的配置中,Nginx 將匹配的請求轉發到 Kestrel 監聽地址【http://127.0.0.1:5000】。
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/nginx/office.paicore.com.crt;
ssl_certificate_key /etc/nginx/office.paicore.com.key;
server_name office.paicore.com;
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_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
3.2 配置 Nginx 文件上傳限制。
Nginx 默認支持上傳最大 1M 文件。
使用【vim】打開【/etc/nginx/nginx.conf】,增加下列代碼。
請根據你的實際需求,配置文件上傳限制。
http {
client_max_body_size 500M;
}
server {
client_max_body_size 500M;
}