本文爲學習筆記,主要用於記錄本人學習過程。部分內容爲轉載!!!!
一、Walle 瓦力
1.官網
2.安裝
1.安全
務必部署在內網!
務必部署在內網!
務必部署在內網!
2.Clone code
git clone https://github.com/meolu/walle-web.git
3.Nginx config
別忘了要重啓nginx,注意標出可能需要改的地方
upstream webservers {
server 0.0.0.0:5000 weight=1; # 負載設置
}
server {
listen 80;
server_name admin.walle-web.io; # 域名設置
access_log /usr/local/nginx/logs/walle.log main;
index index.html index.htm; # 日誌目錄
location / {
try_files $uri $uri/ /index.html;
add_header access-control-allow-origin *;
root /walle-web/fe; # 前端代碼已集成到walle-web,即walle-web/fe的絕對路徑
}
location ^~ /api/ {
add_header access-control-allow-origin *;
proxy_pass http://webservers;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Origin $host:$server_port;
proxy_set_header Referer $host:$server_port;
}
location ^~ /socket.io/ {
add_header access-control-allow-origin *;
proxy_pass http://webservers;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Origin $host:$server_port;
proxy_set_header Referer $host:$server_port;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# WebScoket Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
4.Hosts
vi /etc/hosts
# 新增一行
127.0.0.1 admin.walle-web.io # 與nginx配置一致
5.Install
安裝Python 2.7 + pip
。
sh admin.sh init
# 注意:安裝mysqlclient失敗,需要先安裝libmysqlclient-dev(ubuntu)
# 注意:安裝失敗請指定python路徑. mac 可能會有用anaconda的python,找到自己系統的python 2.7追加參數指定 -p /usr/bin/python2.7 即可
# vi admin.sh +20
# virtualenv --no-site-packages -p /usr/local/bin/python2.7 venv
6.Config setting
帶 @TODO 就是可能要修改的地方
vi walle/config/settings_prod.py
7.Data Migration
7.0 MySQL 5.6.5以上否則會在安裝時報錯。
在MySQL 5.6.5版本之前,Automatic Initialization and Updating只適用於TIMESTAMP,而且一張表中,最多允許一個TIMESTAMP字段採用該特性。從MySQL 5.6.5開始,Automatic Initialization and Updating同時適用於TIMESTAMP和DATETIME,且不限制數量。
7.1 創建一個數據庫 walle
mysql -hxx -uxx -p -e'CREATE SCHEMA walle'
7.2 Data Migration
sh admin.sh migration
8.Start
8.1 啓動
sh admin.sh start
8.2 重啓、升級、Migration
sh admin.sh restart # 重啓
sh admin.sh upgrade # 升級walle,升級完需要重啓walle服務。升級前最好 git stash 暫存本地修改,升級後git stash pop彈出暫存,然後重啓服務。
sh admin.sh migration # Migration
9.開啓walle 2.0之旅
恭喜你,大功告成!瀏覽器打開http://admin.walle-web.io
(因nginx配置域名而定)。初始登錄賬號如下,開啓你的walle 2.0之旅吧:)
超管:[email protected] \ Walle123
所有者:[email protected] \ Walle123
負責人:[email protected] \ Walle123
開發者:[email protected] \ Walle123
訪客:[email protected] \ Walle123
10.其它
walle運行過程,以及部署過程出錯了,具體日誌可以查看logs/runtime.log
,別說你在啓動walle的時候沒注意到?
如果出現任何打開頁面出現404或者只顯示’wall-web 2.0’等,都是nginx配置或者服務沒有啓動,細心檢查。
二、Syncd
1.官網
Syncd官網: https://syncd.cc
Syncd文檔:https://syncd.cc/docs/
2.環境要求
操作系統
Linux / macOS + Bash. 需要注意的是Syncd不支持Win系統。
Go 編譯環境
Syncd依賴 Go1.11+
編譯環境,可前往官方網站 或 國內鏡像 下載安裝。
安裝配置go
#Linux安裝配置go運行環境
下載go安裝包:
wget https://storage.googleapis.com/golang/go1.14.3.linux-amd64.tar.gz
解壓go安裝包:
tar -C /usr/local -zxvf go1.14.3.linux-amd64.tar.gz
// 習慣用vim,沒有的話可以用命令`sudo apt-get install vim`安裝一個
vim /etc/profile
// 在最後一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
// wq保存退出後source一下
source /etc/profile
查看go版本信息
go version
MySQL
MySQL 5.6+
Git
升級操作系統Git到最新版本。
3.編譯Syncd
執行以下命令
$ curl https://syncd.cc/install.sh | bash
若編譯程序未報錯並且在當前目錄中生成 syncd-deploy
子目錄,則表示安裝成功。
syncd-deploy目錄結構
syncd-deploy // syncd-deploy可修改爲任意其他目錄名稱
├── bin // bin目錄存放Syncd的可執行文件
│ └── syncd
├── etc // bin/syncd 程序運行時若不指定配置文件,則會在etc目錄中查找syncd.ini作爲默認配置
│ └── syncd.ini
├── log
├── public // 靜態資源目錄
├── css
├── favicon.ico
├── fonts
├── img
├── index.html
└── js
└── resource // 資源目錄
└── sql
生成的 syncd-deploy 目錄可拷貝或移動到你想要的地方,但不要試圖將此目錄拷貝到其他服務器上運行,會造成不可預料的結果。
4.導入數據庫
Syncd依賴的MySQL數據表結構存在於 syncd-deploy/resource/sql/syncd_{版本號}.sql
中
$ cd ./syncd-deploy
$ mysql --default-character-set=utf8mb4 < ./resource/sql/syncd_{版本號}.sql # 導入MySQL表結構
# mysql --default-character-set=utf8mb4 < ./resource/sql/syncd_v2.0.0.sql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql --default-character-set=utf8mb4 < ./resource/sql/syncd_v2.0.0.sql -uroot -p
Enter password:
5.配置文件
配置文件位置: syncd-deploy/etc/syncd.ini
修改數據庫連接信息(查看配置項詳細文檔)
[database]
host = 127.0.0.1
port = 3306
user = syncd
password = syncd
dbname = syncd
6.運行程序
$ cd syncd-deploy
$ ./bin/syncd
_____ __ __ ____ _____ ____/ /
/ ___/ / / / / / __ \ / ___/ / __ /
(__ ) / /_/ / / / / / / /__ / /_/ /
/____/ \__, / /_/ /_/ \___/ \__,_/
/____/
Service: syncd
Version: v2.0.0
Config Loaded: ./etc/syncd.ini
Log: stdout
Mail Enable: 0
HTTP Service: :8878
Start Running...
打開瀏覽器,訪問 http://localhost:8878
初始賬號:
用戶名: syncd
密碼: 111111
!!!登錄後儘快修改默認密碼
7.使用方法
項目配置
集羣配置
祕鑰配置
由於部署服務器(Syncd服務所在的服務器)與生產服務器(代碼部署目標機)之間通過ssh協議通信,所以需要將部署服務器的公鑰 (一般在這裏: $HOME/.ssh/id_rsa.pub
)加入到生產機的信任列表中(一般在這裏 $HOME/.ssh/authorized_keys
)
可使用 ssh-copy-id
命令添加,或手動拷貝。
設置完成後不要忘記進行測試連通性 ssh {生產機用戶名}@{生產機地址}
注意:部署服務器的$HOME必須與運行Syncd的用戶一致,否則ssh的免密登錄將無效。
構建配置
配置說明
通過項目列表中的 構建設置
來編輯構建腳本。腳本需在上線單中手動觸發,系統會使用 /bin/bash -c {腳本文件}
執行。
構建腳本支持的變量
- ${env_workspace}
代碼倉庫本地副本目錄
- ${env_pack_file}
打包文件絕對地址,構建完成後將需要部署到線上的代碼打包到此文件中,必須使用 tar -zcf
命令進行打包。
部署模塊會將此壓縮包分發到目標主機並解壓縮到指定目錄,請按照要求打包,否則會部署失敗。
簡單構建示例
cd ${env_workspace}
tar --exclude='.git' -zcvf ${env_pack_file} *
Laravelg構建示例
cd ${env_workspace}
composer install
tar --exclude='.git' -zcvf ${env_pack_file} *
前端項目構建示例
cd ${env_workspace}
yarn
yarn build
cd ./dist
tar -zcvf ${env_pack_file} *
Java項目構建示例
cd ${env_workspace}
未完待續
Syncd構建示例
cd ${env_workspace}
make
cd ./output
tar -zcvf ${env_pack_file} *
部署配置
提交申請單
發佈項目
8.問題
1 執行安裝命令出現too many errors
原因:
由於安裝新版本的時候,沒有刪除舊版本,導致安裝包的有些關聯發生錯誤
解決方案:
先手動刪除之前安裝的包,再重新按照
rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.14.1.darwin-amd64.tar.gz
2 獲取依賴超時
解決:
獲取依賴超時,推薦使用goproxy.io
export GO111MODULE=on
export GOPROXY=https://goproxy.io
三、Gopub
1.相關網站
oschina:oschina.net/p/gopub
github:https://github.com/linclin/gopub
2、軟件配置
centos7
mysql5.7.26
gopub1.1.3
3、數據庫配置
CREATE DATABASE `wordpress` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
grant all privileges on gopub.* to walle@<ip> identified by '<密碼>' with grant option;
flush privileges;
4、gopub安裝
cd /opt/
yum install git vim wget
# 源碼
# git clone https://github.com/linclin/gopub.git
wget https://github.com/linclin/gopub/releases/download/gopub-1.1.3/gopub-1.1.3.tar.gz
tar -zxvf gopub-1.1.3.tar.gz
vim /opt/gopub/src/conf/app.conf
#數據庫配置
mysqluser = "root"
mysqlpass = "xxxx"
mysqlhost = "127.0.0.1"
mysqlport = 3306
mysqldb = "wordpress"
cd gopub
#執行數據庫初始化
./control init
#啓動
./control start
systemctl stop iptables
訪問地址:http://127.0.0.1:8192
用戶名:admin
初始密碼:123456
5、訪問驗證
6.使用方式
項目配置
發佈上線
————————————————
部分內容轉載於:https://www.cnblogs.com/wangshuyang/p/11544891.html