使用云服務器 Ubuntu20.04 LTS
1.安裝docker
# 輸入docker提示docker安裝陳述句
apt install docker.io
# 從Docker Hub中拉取最新專案鏡像
docker pull b3log/solo
2.安裝mysql
# 使用以下命令將安裝mysql及mysql依賴包
apt install mysql-server
3.創建資料庫
// 登陸資料庫 密碼為空
mysql -uroot -p
// 創建solo資料庫
create database solo default character set utf8mb4 collate utf8mb4_general_ci;
// 創建用戶
create user 'root'@'127.0.0.1' identified by '123456';
// 賦予新創建的用戶權限
grant all privileges on *.* to 'root'@'127.0.0.1';
// 重繪
flush privileges;
4.啟動容器
# 根據mysql創建的用戶名和密碼填入username和password中
docker run --detach --name solo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
正常情況下在瀏覽器直接輸入服務器地址加上埠就能訪問了
天翼云服務器的80、8080、443埠需要備案才能訪問,可以在啟動容器時將監聽埠直接換成80、8080、443埠之外的寬口,比如8081,就能通過服務器地址結合埠訪問了;或者使用nginx反代將8080埠轉到服務器的8081埠
5.使用nginx反代保證服務器的安全性
nginx反代就是將外界訪問的80埠轉到服務器的8080埠
# 安裝nginx
apt install nginx
# 配置solo.conf組態檔
vim /etc/nginx/conf.d/solo.conf
將以下nginx反代內容寫進組態檔
upstream backend {
server localhost:8080; # Solo 監聽埠
}
server {
listen 8081; # 一般可以使用80埠實作直接訪問
server_name 182.43.186.137; # 博客域名,沒有就填寫服務器地址
access_log off;
location / {
proxy_pass http://backend$request_uri;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
}
# 重繪nginx
systemctl reload nginx
到這步nginx反代就算部署完成,可以訪問了
6.因為網頁靜態資源太多 帶寬可能承受不住 在docker上使用動靜分離 靜態資源從cdn上加載
# 查看docker容器串列
docker ps
# 先停掉并洗掉這個docker 停掉docker不會影響mysql資料庫中資料 使用h2database需要注意
docker stop
docker rm solo
# 重新啟動容器并在后面添加相應代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/548538.html
標籤:其他
上一篇:deepin系統安裝php8
