溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Linux+Jexus中發布和部署

發布時間:2021-12-23 13:38:25 來源:億速云 閱讀:223 作者:柒染 欄目:開發技術
# 如何在Linux+Jexus中發布和部署

## 前言

在當今的互聯網時代,Linux服務器因其穩定性、安全性和開源特性成為企業級應用部署的首選平臺。而Jexus作為一款高性能的國產Web服務器,特別適合.NET Core應用的部署。本文將詳細介紹如何在Linux系統中使用Jexus進行應用的發布和部署。

## 一、環境準備

### 1.1 系統要求
- **操作系統**:Ubuntu 20.04 LTS/CentOS 7+(本文以Ubuntu為例)
- **運行時環境**:.NET Core 3.1/5.0/6.0
- **權限要求**:root或sudo權限

### 1.2 基礎環境安裝
```bash
# 更新系統包
sudo apt update && sudo apt upgrade -y

# 安裝基礎工具
sudo apt install -y curl wget git unzip

二、安裝.NET Core SDK

2.1 添加微軟包倉庫

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

2.2 安裝SDK(以.NET 6為例)

sudo apt update
sudo apt install -y dotnet-sdk-6.0

2.3 驗證安裝

dotnet --version
# 應輸出類似:6.0.301

三、安裝Jexus服務器

3.1 獨立版安裝(推薦)

curl https://jexus.org/release/x64/install.sh|sudo sh

3.2 驗證安裝

jws -v
# 應輸出類似:Jexus-5.8.3

四、項目發布準備

4.1 項目構建

在開發機上執行:

dotnet publish -c Release -r linux-x64 --self-contained false

4.2 目錄結構建議

/var/www/
└── myapp/
    ├── app/
    │   ├── app.dll
    │   ├── appsettings.json
    │   └── wwwroot/
    └── logs/

五、Jexus配置詳解

5.1 主配置文件位置

/etc/jexus/jws.conf

5.2 創建站點配置文件

sudo nano /etc/jexus/siteconf/myapp

示例配置:

port=80
root=/ /var/www/myapp/app/wwwroot
hosts=myapp.com,*.myapp.com

apphost=/
approot=/var/www/myapp/app
apptype=dotnet
command=dotnet /var/www/myapp/app/app.dll

5.3 關鍵參數說明

  • port:監聽端口
  • apptype:應用類型(dotnet/python等)
  • command:啟動命令(重要?。?/li>

六、部署實戰

6.1 文件傳輸

推薦使用rsync:

rsync -avz ./publish/ user@server:/var/www/myapp/app

6.2 權限設置

sudo chown -R www-data:www-data /var/www/myapp
sudo chmod -R 750 /var/www/myapp

6.3 服務管理

# 啟動站點
sudo jws start myapp

# 查看狀態
sudo jws status

# 重啟服務
sudo jws restart

七、HTTPS配置

7.1 申請證書(以Let’s Encrypt為例)

sudo apt install certbot python3-certbot-nginx
sudo certbot certonly --webroot -w /var/www/myapp/app/wwwroot -d myapp.com

7.2 修改Jexus配置

port=443
certFile=/etc/letsencrypt/live/myapp.com/fullchain.pem
certKey=/etc/letsencrypt/live/myapp.com/privkey.pem

八、高級配置技巧

8.1 負載均衡配置

workers=4
worker_affinity=0 1 2 3

8.2 靜態文件緩存

location=/
{
    cache=10m
}

8.3 自定義錯誤頁

errpage=404 /error/404.html

九、常見問題排查

9.1 502 Bad Gateway

  • 檢查.NET Core應用是否正常運行
  • 查看Jexus錯誤日志:/var/log/jexus/default/error.log

9.2 權限問題

# 檢查SELinux狀態
sestatus

# 臨時關閉
sudo setenforce 0

9.3 端口沖突

sudo netstat -tulnp | grep :80

十、性能優化建議

10.1 Jexus參數調優

maxworker=100
maxconn=10000

10.2 .NET Core優化

在appsettings.json中添加:

"Kestrel": {
    "Limits": {
        "MaxConcurrentConnections": 10000
    }
}

十一、自動化部署方案

11.1 使用Git鉤子

示例post-receive腳本:

#!/bin/bash
TARGET="/var/www/myapp/app"
GIT_DIR="/var/repo/myapp.git"

mkdir -p $TARGET
git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f
cd $TARGET && dotnet publish -c Release
sudo jws restart myapp

11.2 CI/CD集成

GitLab CI示例:

deploy_prod:
  stage: deploy
  script:
    - rsync -avz ./publish/ prod-server:/var/www/myapp/app
    - ssh prod-server "sudo jws restart myapp"
  only:
    - master

十二、監控與維護

12.1 日志管理

  • Jexus訪問日志:/var/log/jexus/default/access.log
  • 應用日志建議使用:Serilog/NLog

12.2 進程監控

使用systemd:

[Unit]
Description=MyApp Service

[Service]
WorkingDirectory=/var/www/myapp/app
ExecStart=/usr/bin/dotnet /var/www/myapp/app/app.dll
Restart=always
RestartSec=10
SyslogIdentifier=myapp
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

結語

通過本文的詳細指導,您應該已經掌握了在Linux系統上使用Jexus部署.NET Core應用的完整流程。從環境準備到高級配置,從基礎部署到性能優化,Jexus以其輕量級和高性能的特點,成為.NET Core應用在Linux平臺部署的優質選擇。

最佳實踐提示:建議在正式環境部署前,先在測試環境驗證所有配置,并建立完整的回滾機制。

附錄

常用命令速查

命令 說明
jws start sitename 啟動站點
jws stop sitename 停止站點
jws -v 查看版本
jws -h 查看幫助

參考資源

  1. Jexus官方文檔
  2. .NET Core官方文檔
  3. Linux系統管理手冊

”`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女