# 在 Linux(CentOS) 中運行 SS CMS
本文我們將以 CentOS
為主示范如何在 Linux 操作系統中部署并安裝 SS CMS 系統,其他 Linux 版本系統安裝步驟基本一致。
# 1、安裝.NET Core 運行時
提示
SSCMS 支持 CentOS 7 和 CentOS 8,由于 CentOS 7 使用 Yum 作為包管理器,CentOS 8 使用 DNF,請根據操作系統版本分別運行以下命令。
# CentOS 7
安裝 .NET 之前,請運行以下命令,將 Microsoft 包簽名密鑰添加到受信任密鑰列表,并添加 Microsoft 包存儲庫。 打開終端并運行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安裝運行時
.NET Core 運行時允許運行使用不隨附運行時的 .NET Core 所開發的應用。 以下命令安裝 ASP.NET Core 運行時,這是與 .NET Core 最兼容的運行時。 在終端中,運行以下命令。
sudo yum install aspnetcore-runtime-3.1 -y
# 驗證dotnet core runtime是否安裝成功
dotnet
# CentOS 8
.NET Core 3.1 在 CentOS 8 的默認包存儲庫中提供。
安裝運行時
.NET Core 運行時允許運行使用不隨附運行時的 .NET Core 所開發的應用。 以下命令安裝 ASP.NET Core 運行時,這是與 .NET Core 最兼容的運行時。 在終端中,運行以下命令。
sudo dnf install aspnetcore-runtime-3.1 -y
# 驗證dotnet core runtime是否安裝成功
dotnet
# 2、下載并解壓 SSCMS 安裝包
創建并進入 SS CMS 系統運行的文件夾,例如我們打算在 /var/www
中運行 SS CMS:
創建并進入文件夾:
mkdir -m 777 /var/www/
cd /var/www
下載 SS CMS 安裝包,最新的產品下載地址請進入產品官網獲取:
wget https://dl.www.937047.tw/cms/7.0.0/sscms-7.0.0-linux-x64.tar.gz
# 或者
curl -O https://dl.www.937047.tw/cms/7.0.0/sscms-7.0.0-linux-x64.tar.gz
解壓安裝包至 /var/www
文件夾中并刪除安裝包:
tar -xzf sscms-7.0.0-linux-x64.tar.gz
rm sscms-7.0.0-linux-x64.tar.gz -f
# 3、安裝 Nginx
備注
如果需要可選 Nginx 模塊,則可能需要從源代碼生成 Nginx。
# 安裝nginx
yum install nginx -y
# 啟動nginx(需要先確保80端口未被其他程序占用)
systemctl start nginx
# 設為開機啟動
systemctl enable nginx
# 4、將 Nginx 設置為 SS CMS 反向代理
安裝完畢 Nginx后,請修改 /etc/nginx/nginx.conf
配置文件,在文本編輯器中打開它,并將 server
內容替換為以下內容:
# SSCMS Nginx Config ...
server {
listen 80;
server_name _;
location / {
proxy_pass http://localhost: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;
}
}
使用上述配置文件,Nginx 接受端口 80 上的流量并將請求轉接到 http://localhost:5000
中的 SS CMS。
如果希望指定域名,可以將 server_name _;
替換為 server_name example.com;
,Nginx 將只匹配 example.com
上的流量并轉接到 SS CMS。
注意
未能指定正確的 server_name 指令 (opens new window)會公開應用的安全漏洞。 如果可控制整個父域(區別于易受攻擊的 *.com
),則子域通配符綁定(例如,*.example.com
)不具有此安全風險。 有關詳細信息,請參閱 rfc7230 第 5.4 條 (opens new window)。
除此之外,由于 Nginx 默認允許上傳文件的大小是 1M,通常還需要設置 Nginx 允許上傳文件的大小:
client_max_body_size 500m;
500m表示最大上傳500M,可以根據實際需要進行設置。
完成配置 Nginx 后,運行 sudo nginx -t
來驗證配置文件的語法。
sudo nginx -t
如果配置文件測試成功,可以通過運行 sudo nginx -s reload
強制 Nginx 重新載入。
sudo nginx -s reload
# 測試 Nginx 反向代理
導航到 SSCMS 根目錄,通過命令行直接運行 SSCMS 系統:
cd /var/www
dotnet SSCMS.Web.dll
運行命令后,打開瀏覽器,訪問 http://<IP地址或域名>
,如果設置無誤,瀏覽器將顯示如下界面:
Nginx 將對 http://<IP地址或域名>
發起的請求轉接到在 http://127.0.0.1:5000 中的 SS CMS 系統。如果 SSCMS 在服務器上運行,但無法通過 http://<IP地址或域名>
地址訪問,請檢查服務器的防火墻,并確認端口 80 已打開。
測試 Nginx 反向代理完成后,請在命令提示符處按 Ctrl+C 關閉 SSCMS。
# 5、將 Nginx 設置為 SS CMS 進程管理器
接下來,我們需要將 Nginx 設置為 SS CMS 的進程管理器。
# 創建服務文件
創建服務定義文件 sscms.service
:
sudo touch /etc/systemd/system/sscms.service
將以下內容保存至 /etc/systemd/system/sscms.service
:
[Unit]
Description=SS CMS
[Service]
WorkingDirectory=/var/www
ExecStart=/usr/bin/dotnet /var/www/SSCMS.Web.dll
Restart=always
# Restart service after 10 seconds if the sscms service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=sscms
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
保存文件并啟用服務。
sudo systemctl enable sscms.service
運行服務,并確認它正在運行。
sudo systemctl start sscms.service
sudo systemctl status sscms.service
● sscms.service - SS CMS
Loaded: loaded (/etc/systemd/system/sscms.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2020-08-30 04:40:33 CST; 9s ago
Main PID: 17983 (dotnet)
CGroup: /system.slice/sscms.service
└─17983 /usr/bin/dotnet /var/www/SSCMS.Web.dll
在配置了反向代理并通過 systemd 管理 SS CMS 后,Web 應用現已完全配置,并能通過瀏覽器從地址 http://<IP地址或域名>
進行訪問了。
至此,SSCMS 系統已經在 CentOS 操作系統中部署完畢,我們可以開始正式安裝 SS CMS 系統了。
# 6、安裝 SS CMS 系統
TIP
如果在云服務器環境中安裝,請先配置安全組,確保網站地址及端口能夠被外網訪問。
打開瀏覽器,訪問地址 http://<IP地址或域名>/ss-admin/install
,進入 SS CMS 系統安裝界面:
勾選我已經閱讀并同意此協議,進入環境檢測界面:
點擊下一步,進入數據庫設置界面:
在此,我們選擇 SQLite
數據庫,如果希望使用其他數據庫,請根據需要選擇,點擊下一步,進入緩存設置界面:
在此,我們選擇 默認緩存
,如果希望使用Redis 分布式緩存,請根據需要選擇,點擊下一步,進入管理員設置界面:
在管理員設置界面中設置超級管理員的用戶名及密碼,設置完成后點擊下一步,系統將顯示安裝成功界面:
點擊 進入管理后臺
按鈕進入后臺,至此,SS CMS 系統安裝完畢。