日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

dt程序网站服务器配置,ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot)

發布時間:2025/3/15 linux 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dt程序网站服务器配置,ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為沒有給域名續費,加上私人時間不足,ZKWeb 的官網和演示站點已經停止了幾個月的時間。 最近時間開始變多,所以重新購買了別的域名和服務器把官網和演示站點重新部署上去。 在此前站點是托管在共享主機上的 Windows + IIS 上的,而現在已經換為了 Linux + Nginx,費用比使用共享主機還要便宜。

因為服務器是 OpenVZ 下的虛擬主機,不能使用 docker,以下的步驟會直接在服務器上運行網站程序。

安裝 dotnet

wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb

sudo apt-get install apt-transport-https

sudo apt-get update

sudo apt-get install dotnet-sdk-2.2 -y

安裝 libgdiplus (為了支持 System.Drawing.Common)

sudo apt-get install libgdiplus libunwind8 openssl -y

ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

安裝 nodejs (MVVMDemo 需要使用)

curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh

sudo bash nodesource_setup.sh

rm nodesource_setup.sh

sudo apt-get install nodejs

下載項目

sudo apt-get install git

cd /home/ubuntu

git clone https://github.com/zkweb-framework/ZKWeb

git clone https://github.com/zkweb-framework/ZKWeb.MVVMDemo

git clone https://github.com/zkweb-framework/ZKWeb.Plugins

git clone https://github.com/zkweb-framework/ZKWeb.Demo

git clone https://github.com/zkweb-framework/ZKWeb.Home

編譯和發布項目

cd ~/ZKWeb.Demo && sh publish_ubuntu.sh

cd ~/ZKWeb.Home && sh publish_ubuntu.sh

cd ~/ZKWeb.MVVMDemo/src/ZKWeb.MVVMPlugins/MVVM.Angular.Website/static

sudo npm install -g @angular/cli

npm install

ng build --prod --aot

cd ~/ZKWeb.MVVMDemo && sh publish_ubuntu.sh

添加 systemd 服務

sudo vi /etc/systemd/system/zkweb-home.service

內容:

[Unit]

Description=ZKWeb Home

After=network.target

[Service]

WorkingDirectory=/home/ubuntu/ZKWeb.Home.Publish/ZKWeb.Home.Ubuntu

ExecStart=/bin/sh -c "./ZKWeb.Home.AspNetCore server.urls=http://127.0.0.1:5000"

Restart=always

RestartSec=10

KillSignal=SIGINT

SyslogIdentifier=zkweb-home

User=ubuntu

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]

WantedBy=multi-user.target

sudo vi /etc/systemd/system/zkweb-demo.service

內容:

[Unit]

Description=ZKWeb Demo

After=network.target

[Service]

WorkingDirectory=/home/ubuntu/ZKWeb.Demo.Publish/ZKWeb.Demo.Ubuntu

ExecStart=/bin/sh -c "./ZKWeb.Demo.AspNetCore server.urls=http://127.0.0.1:5001"

Restart=always

RestartSec=10

KillSignal=SIGINT

SyslogIdentifier=zkweb-demo

User=ubuntu

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]

WantedBy=multi-user.target

sudo vi /etc/systemd/system/zkweb-mvvm-demo.service

內容:

[Unit]

Description=ZKWeb MVVM Demo

After=network.target

[Service]

WorkingDirectory=/home/ubuntu/ZKWeb.MVVMDemo.Publish/ZKWeb.MVVMDemo.Ubuntu

ExecStart=/bin/sh -c "./ZKWeb.MVVMDemo.AspNetCore server.urls=http://127.0.0.1:5002"

Restart=always

RestartSec=10

KillSignal=SIGINT

SyslogIdentifier=zkweb-mvvm-demo

User=ubuntu

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]

WantedBy=multi-user.target

啟動 systemd 服務

# 設置重啟后自動開始

sudo systemctl enable zkweb-home

sudo systemctl enable zkweb-demo

sudo systemctl enable zkweb-mvvm-demo

# 立刻開始

sudo systemctl start zkweb-home

sudo systemctl start zkweb-demo

sudo systemctl start zkweb-mvvm-demo

# 查看服務日志

sudo journalctl -u zkweb-home

sudo journalctl -u zkweb-demo

sudo journalctl -u zkweb-mvvm-demo

安裝和啟動 nginx

sudo apt-get install nginx

sudo systemctl enable nginx

sudo systemctl start nginx

編輯配置與重啟 nginx

sudo vi /etc/nginx/sites-enabled/default

sudo systemctl restart nginx

內容:

server {

listen 80;

server_name zkweb.app.compiv.com;

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;

}

}

server {

listen 80;

server_name zkweb-demo.app.compiv.com;

location / {

proxy_pass http://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_cache_bypass $http_upgrade;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

}

server {

listen 80;

server_name zkweb-mvvm-demo.app.compiv.com;

location / {

proxy_pass http://localhost:5002;

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;

}

}

安裝 certbot (支持自動申請與更新 lets encrypt 的 ssl 證書)

sudo add-apt-repository ppa:certbot/certbot

sudo apt-get update

sudo apt-get install python-certbot-nginx

申請 ssl 證書

證書會通過 nginx 模塊自動通過認證 (文件路徑形式) 與簽發。

sudo certbot --nginx -d zkweb.app.compiv.com

sudo certbot --nginx -d zkweb-demo.app.compiv.com

sudo certbot --nginx -d zkweb-mvvm-demo.app.compiv.com

測試更新 ssl 證書 (不會實際更新)

sudo certbot renew --dry-run

檢查更新 ssl 證書的定時器

通過以上方式安裝 certbot 以后會自動注冊定時器,用于自動更新 ssl 證書,以下命令可以用來確認定時器的狀態。

sudo systemctl list-timers certbot.timer

以上就完成部署了,這個部署流程基本上是寫給自己看的,如果您有基于 zkweb 的網站也可以拿來參考。 雖然很想用 docker 部署,但是服務器費用相差太大了。

總結

以上是生活随笔為你收集整理的dt程序网站服务器配置,ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。