note:可經過該命令查找文件未知html
sudo find / -name filenamepython
一:項目(github) nginx
ssh root@server ip # 鏈接你的服務器git
git clone -b https://mygithub.com # -b 指定分支github
安裝virtualenv及配置環境變量 詳細見:http://www.javashuo.com/article/p-zdsethda-hb.htmlsql
mkvirtualenv envname -p python3 # 建立項目使用的python版本的虛擬環境,建立成功默認回進入該虛擬環境 pip install -r requirements.txt # 安裝項目依賴 python manage.py runserver # 保證項目可以運行
note:!!!數據庫
使用數據庫爲sqlite3可能會出現以下錯誤: django.db.utils.NotSupportedError: URIs not supported 應該修改根據錯誤提示的路徑下的base.py文件 if self.features.can_share_in_memory_db: kwargs.update({'uri': True}) # 將此處的True改成False return kwargs
二:配置uwsgidjango
pip install uwsgi # 安裝服務器
在項目根目錄建立 uwsgi.ini 名字自取ssh
[uwsgi] # 取決於nginx配置 upstream socket = 127.0.0.1:9000 socket = 127.0.0.1:9001 # 項目根目錄 chdir = /home/jason/projectName# Django的wsgi文件 module = projectName.wsgi # Python虛擬環境的路徑 home = /home/user/.virtualenvs/envname/bin/python # 進程相關的設置 # 主進程 master = true # 最大數量的工做進程 processes = 1 # 感受跟服務器cpu有關,反正我單核設置成2就會致使瀏覽特別慢 # 設置socket的權限 chmod-socket = 666 # 退出的時候是否清理環境 vacuum = true # 靜態文件 絕對地址 static-map = /static=/home/user/projectName/static
三:nginx 配置
安裝nginx 詳情:http://www.javashuo.com/article/p-cqapzoiq-gx.html
配置環境變量,編輯/etc/profile 增長以下內容: NGINX_HOME= /usr/local/nginx export PATH=$PATH:$NGINX_HOME/bin source /etc/profile # 重啓配置信息
mkdir conf.d # 在nginx.conf目錄下建立文件 cd conf.d # 進入 touch project.conf # 建立nginx配置文件,配置此項目的配置信息
在nginx.conf中的http塊的最後面, include usr/local/nginx/conf/conf.d/project.conf # 將該配置文件加載到nginx.conf配置中
nginx -s reload # 重啓nginx服務 若是沒有權限,切換爲root用戶重啓
upstream anyname { server 127.0.0.1:9000 weight=3; # 兩臺服務器 與 wsgi配置相關 weight=3, 9000端口處理3個請求,9001處理第四個請求。以此循環 server 127.0.0.1:9001; } # 配置服務器 server { # 監聽的端口號,經過服務器ip監聽的端口 listen 80; # 域名 or ip server_name your server ip; charset utf-8; # 最大的文件上傳尺寸 client_max_body_size 75M; # 靜態文件訪問的url, nginx再次加載靜態文件 location /static { # 靜態文件地址 alias /home/user/projectName/static; } # 最後,發送全部非靜態文件請求到django服務器 location / { include uwsgi_params;
# uwsgi_pass 127.0.0.1:9000; # uwsgi.ini 的socket參數相同 or
uwsgi_pass anyname; # upstream anyname
uwsgi_param UWSGI_SCRIPT projectName.wsgi; # wsgi.py文件
uwsgi_param UWSGI_CHDIR /home/user/projectName; # 指定項目目錄
index index.html index.html;
client_max_body_size 35m; } }
四:啓動uwsgi
uwsgi --ini uwsgi.ini
就能夠經過 服務器域名或ip訪問了
可是這樣會有個問題,斷開ssh鏈接,改進程也就被kill了。爲此,咱們可使用screen
五: screen
yum install screen
出現該錯誤:
Error downloading packages: ...
執行 : yum clean all, 再重yum ... 我就ok了。
經常使用命令:
screen -S qugemingzi # 建立會話窗口,並取名 Ctrl+a+d # 暫時退出窗口
exit # 結束會話
screen -r qugemingzi # -r + name回到以前的窗口 查看會話列表: screen -ls 恢復以前離開的會話:screen -r 會話名或進程號 清除dead狀態的會話:screen -wipe 啓動一個開始就是Detached狀態的會話:screen -dmS 名字 命令
1.建立一個會話窗口:screen -S name
2.在次窗口中運行第四不命令: uwsgi --ini uwsgi.ini
3. 將該會話掛起: Ctrl + a + d
這樣斷開ssh 鏈接,也不會中斷進程了。。。
perfect...