- Ubuntu (18.04 or previous version)
- Python 3.6
- Redis server
需要先在本地端設定/安裝好 Redis server
如果Redis有自行調整Host或Port或是使用外部的Redis,需執行
預設為本地的位置 redis://127.0.0.1:6379 執行
$ export REDIS_URL=redis://127.0.0.1:6666若設定最新消息的管理員,可以透過;來新增多位管理員(非必須)
$ export NEWS_ADMIN="1106111111;1105293392"或是設定一個帳號密碼,來登入管理員。
$ export NEWS_ADMIN_ACCOUNT="admin"
$ export NEWS_ADMIN_PASSWORD="1234567"創建Python virtual enviroment
$ python3 -m venv venv啟動 virtual enviroment
$ source venv/bin/activate安裝相關packages
$ pip3 install -r requirement.txt啟動伺服器(Debug 模式)
$ gunicorn web-server:app啟動伺服器(Release 模式)
$ gunicorn -c gunicorn_config.py web-server:app- NKUST-AP-API
- Redis
- Nginx
- Certbot
$ cp env.example .env如果有要設定最新消息的管理者,可以在.env中修改 NEWS_ADMIN 參數
REDIS_URL=redis://redis:6379
如需要更改redis位置,可以在.env中修改 REDIS_URL 參數,
這邊redis中的host是套用 dokcer network 的設定
REDIS_URL=redis://redis:6379
複製 nginx 設定檔(HTTPS)
$ cp nginx/nginx_nkust_api.conf.Example nginx/nginx_nkust_api.conf若需要單純使用 HTTP 則需複製 nginx_nkust_api_http.conf.Example
$ cp nginx/nginx_nkust_api_http.conf.Example nginx/nginx_nkust_api.conf將nginx_nkust_api_http.conf 設定檔中 "所有"example.org取代為要目標的網域
2 server_name example.org;
...
17 server_name example.org;
更改為
2 server_name 目標網域;
...
17 server_name 目標網域;
修改init-letsencrypt.sh line 8~9 中的網域及email
8 domains=(aaa.example.org aaa.example.org)
9 email="[email protected]" 給予shell sript 權限
$ sudo chmod +x init-letsencrypt.sh並執行shell sript註冊,此過程會開啟伺服器
$ sudo ./init-letsencrypt.sh後續再次開啟不需要使用init-letsencrypt.sh
最後執行docker-compose 開啟伺服器
-d 為背景執行,若不需要可以不用加
$ docker-compose up -d 如有其他port 的需求
修改nginx/nginx_nkust_api.conf 像是一般的nginx設定檔案