walle2.0 搭建

① git clone 下載walle-web

~]#?mkdir -pv /data && cd /data/

~]#?git clone?https://github.com/meolu/walle-web.git

② 安裝 python 2。7+ pip

~]#?cd /data/walle-web/

~]#?sh admin.sh init

注:如果安裝失敗,修改admin.sh文件 添加python參數(shù),如下:

virtualenv --no-site-packages -p?/usr/local/bin/python2.7?venv

如果初始化報(bào)錯(cuò),根據(jù)提示修改prod.txt

配置文件如下:

----------------------------------------------------------------------------

~]#?vi /data/walle-web/requirements/prod.txt

# Everything needed in production

fabric2==2.3.1

eventlet==0.23.0

gevent==1.3.7

gevent-websocket==0.10.1

# Flask

Flask==1.0.2

MarkupSafe==1.0

Werkzeug==0.14

Jinja2==2.10

Flask-RESTful==0.3.5

Flask-Babel==0.11.2

Flask-Mail==0.9.0

flask-socketio==3.0.2

# Database

Flask-SQLAlchemy==2.3.2

psycopg2==2.7.5

SQLAlchemy==1.2.14

mysqlclient==1.3.13

marshmallow==2.15.1

# Migrations

Flask-Migrate==2.3.1

# Forms

Flask-WTF==0.14.2

WTForms==2.1

# Deployment

gunicorn==19.1.1

# Auth

Flask-Login==0.4.0

Flask-Bcrypt==0.7.1

anyjson==0.3.3

celery==3.1.18

pycrypto==2.6.1

#pytz==2015.6

#python-ldap>=3.0.0b1

dnspython>=1.15

pytz

requests==2.20.0

GitPython

cryptography>=2.5

pymysql

----------------------------------------------------------------------------

③ 修改配置文件(標(biāo)紅地方做修改)

~]#?vi?/data/walle-web/walle/config/settings_prod.py

----------------------------------------------------------------------------

# -*- coding: utf-8 -*-

"""

walle-web

Application configuration.

注意: 帶了 @TODO 的地方可能需要你的調(diào)整

:copyright: ? 2015-2019?walle-web.io

:created time: 2018-11-24 07:05:35

:author:?wushuiyong@walle-web.io

"""

import os

from walle.config.settings import Config

SETTINGS = {

"MYSQL_USER": "root",

"MYSQL_PASSWORD": "root1234",

"MYSQL_DATABASE": "walle",

"MYSQL_ROOT_PASSWORD": "root1234",

"MYSQL_HOST": "127.0.0.1",

"MYSQL_PORT":?3306,

}

class ProdConfig(Config):

"""Production configuration."""

ENV = 'prod'

DEBUG = False

SQLALCHEMY_ECHO = False

# 服務(wù)啟動(dòng) @TODO

# HOST 修改為與 nginx server_name 一致.

# 后續(xù)在web hooks與通知中用到此域名.

HOST = '0.0.0.0'

PORT = 5000

# https True, http False

SSL = False

# 數(shù)據(jù)庫(kù)設(shè)置 @TODO

# SQLALCHEMY_DATABASE_URI = 'mysql://root:'root1234'@127.0.0.1:3306/walle?charset=utf8'

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(

SETTINGS["MYSQL_USER"], SETTINGS["MYSQL_PASSWORD"], SETTINGS["MYSQL_HOST"], SETTINGS["MYSQL_PORT"],

SETTINGS["MYSQL_DATABASE"])

# 阿里云RDS強(qiáng)制釋放空閑連接導(dǎo)致經(jīng)常報(bào)錯(cuò) mysql server has gone way

# 適當(dāng)修改該參數(shù)即可 單位為秒

# N秒不用的連接自動(dòng)釋放

# SQLALCHEMY_POOL_RECYCLE = 30

# 本地代碼檢出路徑(用戶查詢分支, 編譯, 打包) #TODO

CODE_BASE = '/data/codebase-walle/'

# 日志存儲(chǔ)路徑 @TODO

# 默認(rèn)為walle-web項(xiàng)目下logs, 可自定義路徑, 需以 / 結(jié)尾

# LOG_PATH = '/var/logs/walle/'

LOG_PATH = os.path.join(Config.PROJECT_ROOT, 'logs')

LOG_PATH_ERROR = os.path.join(LOG_PATH, 'error.log')

LOG_PATH_INFO = os.path.join(LOG_PATH, 'info.log')

LOG_FILE_MAX_BYTES = 100 * 1024 * 1024

# 郵箱配置 @TODO

MAIL_SERVER = 'smtp.exmail.qq.com'

MAIL_PORT = 465

MAIL_USE_SSL = True

MAIL_USE_TLS = False

MAIL_DEFAULT_SENDER = 'service@walle-web.io'

MAIL_USERNAME = 'service@walle-web.io'

MAIL_PASSWORD = 'Ki9y&3U82'

# 登錄cookie 防止退出瀏覽器重新登錄

COOKIE_ENABLE = False

----------------------------------------------------------------------------

④ 創(chuàng)建數(shù)據(jù)庫(kù)并重置數(shù)據(jù)

~]#?mysql -h127.0.0.1 -P3306 -uroot -p -e 'CREATE SCHEMA walle'

~]#?sh admin.sh migration

⑤ 啟動(dòng)walle

~]#?sh admin.sh start

⑥ 如果需要重啟升級(jí)(穩(wěn)定版建議不升級(jí))

~]#?sh admin.sh restart # 重啟

~]#?sh admin.sh upgrade # 升級(jí)walle,升級(jí)完需要重啟walle服務(wù)。升級(jí)前最好 git stash 暫存本地修改,升級(jí)后git stash pop彈出暫存,然后重啟服務(wù)。

~]#?sh admin.sh migration # Migration

⑦ 備份數(shù)據(jù)庫(kù)導(dǎo)入

備份路徑:/data/back/mysql/日期命名

備份文件:20200721_walle.sql (日期前綴)

例:導(dǎo)入2020年7月21日備份的walle數(shù)據(jù)

~]#?mysql -h127.0.0.1 -P3306 -uroot -p < /data/back/mysql/20200721/20200721_walle.sql

⑧ nginx配置

~]#?vi /data/usr/nginx/conf/nginx.conf

server {

listen 1024;

server_name 127.0.0.1;

charset utf-8;

access_log /data/usr/nginx/logs/1024walle_a.log main;

error_log logs/1024walle_e.log;

index index.html index.htm;?

#walle

location / {

try_files $uri $uri/ /index.html;

add_header access-control-allow-origin *;

root /data/walle-web-master/fe;

}

location ^~ /api/ {

add_header access-control-allow-origin *;

proxy_pass?http://127.0.0.1:5000;

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://127.0.0.1:5000;

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 X-NginX-Proxy true;

# WebScoket Support

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

}

}

重載nginx:

~]#?/data/usr/nginx/sbin/nginx -t && /data/usr/nginx/sbin/nginx -s reload

⑨ 訪問(wèn)?http://127.0.0.1:1024

附:初始用戶

超管:super@walle-web.io?\ Walle123

所有者:owner@walle-web.io?\ Walle123

負(fù)責(zé)人:master@walle-web.io?\ Walle123

開發(fā)者:developer@walle-web.io?\ Walle123

訪客:reporter@walle-web.io?\ Walle123

附:日志查看

walle運(yùn)行過(guò)程,以及部署過(guò)程出錯(cuò)了,具體日志可以查看/data/walle-web/logs/runtime.log

附:官網(wǎng)

http://walle-web.io/docs/2/zh-cn/installation.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容