python
老版本爲 apt-getmysql
安裝之後 ifconfig查看當前的ip地址nginx
若是網絡不在同一個ip段 將網絡模式設置爲橋接redis
sql
在要安裝項目的目錄建立虛擬環境數據庫
virtualenv venvflask
source activate # 開啓虛擬開發環境模式bootstrap
退出 deactivate 瀏覽器
pip3 install uwsgi # 安裝uwsgi服務器
socket指出了一個套接字,至關於爲外界留出一個uwsgi服務器的接口。
[uwsgi] # 外部訪問地址,能夠指定多種協議,如今用http便於調試,以後用socket # socket = 0.0.0.0:8000 # uwsgi的監聽端口 # 指向項目目錄 chdir = /home/xlg/blog/ # flask啓動程序文件 wsgi-file = manage.py # flask在manage.py文件中的app名 callable = app plugins = python# 這行必定要加上,否則請求時會出現-- unavailable modifier requested: 0 --錯誤提示 # 處理器數 processes = 1 # 線程數 threads = 2
pythonpath指出了項目的目錄,module指出了項目啓動腳本的名字而緊接着的wsgi-file指出了真正的腳本的文件名。callable指出的是具體執行.run方法的那個實體的名字,通常而言都是app=Flask(name)的因此這裏是app。processes和threads指出了啓動uwsgi服務器以後,服務器會打開幾個並行的進程,每一個進程會開幾條線程來等待處理請求,顯然這個數字應該合理,過小會使得處理性能很差而太大則會給服務器自己帶來太大負擔。daemonize項的出現表示把uwsgi服務器做爲後臺進程啓動,項的值指向一個文件代表後臺中的全部輸出都重定向到這個日誌中去。
daemonize = /home/wyz/flask/server.log
sudo apt-get install nginx
server{ listen 80; # 服務器監聽端口 server_name 10.0.121.116; # 這裏寫你的域名或者公網IP location / { uwsgi_pass 127.0.0.1:8000; # 轉發端口,須要和uwsgi配置當中的監聽端口一致 include uwsgi_params; # 導入uwsgi配置 #uwsgi_param UWSGI_PYTHON /home/本身建立的目錄/venv; # Python解釋器所在的路徑(這裏爲虛擬環境) uwsgi_param UWSGI_PYTHON /usr/bin/python3; uwsgi_param UWSGI_CHDIR /home/xlg/blog/;# # 本身建立的目錄 項目根目錄 uwsgi_param UWSGI_SCRIPT manage:app; # 指定啓動程序 #好比你測試用test.py文件,文件中app = Flask(name),那麼這裏就填 test:app } }
sudo service nginx stop
sudo service nginx restart
sudo apt-get install mysql-server
指定配置文件,後臺運行 uwsgi, 這時再刷新一下以前打開的頁面,就能夠看到應用正常運行了。
pip3 -V 查看是哪一個python解釋器的 pip3 list 查看安裝了哪些包 pip3 freeze 安裝的模塊和版本號 pip3 freeze>requirements.txt pip3 install -r requirements.txt
1. flask 2. pymysql 3. flask-wtf 4. flask-login 5. flask-mail 6. flask-script 7. flask-bootstrap 8. flask-cache 9. flask-sqlalchemy 10. pillow 11. flask-migrate 12. flask-moment 13. flask-uploads 14. redis
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;