# 第一種方式:基於python基礎映象來做
cd /home
mkdir myproject
cd myproject
docker run -di --name=myproject -p 8080:8080 -v /home/myproject:/home python:3.6
#mac/linux window:xshell拖進去
scp django_test.zip [email protected]:/home/myproject
# 解壓:uzip (安裝)yum install -y unzip zip
# 進入容器i
docker exec -it myproject /bin/bash
# 切到專案路徑下:安裝依賴
pip install -r requirement.txt
# pip list
apt-get update
apt-get vim
# setting.py 改成下面
allowed_hosts = ['*']
# 執行專案(wsgiref)
python manage.py runserver 0.0.0.0:8080
# 換uwsgi跑
pip install uwsgi
# 在專案根路徑下建立乙個uwsgi.ini 檔案,寫入
[uwsgi]
#配置和nginx連線的socket連線
socket=0.0.0.0:8080
#也可以使用http
#配置專案路徑,專案的所在目錄
chdir=/home/django_test
#配置wsgi介面模組檔案路徑
wsgi-file=django_test/wsgi.py
#配置啟動的程序數
processes=4
#配置每個程序的執行緒數
threads=2
#配置啟動管理主程序
master=true
#配置存放主程序的程序號檔案
pidfile=uwsgi.pid
#配置dump日誌記錄
daemonize=uwsgi.log
#啟動,停止,重啟,檢視
uwsgi --ini uwsgi.ini #啟動
lsof -i :8001 #按照埠號查詢
ps aux | grep uwsgi #按照程式名查詢
kill -9 13844 #殺死程序
uwsgi --stop uwsgi.pid #通過uwsg停止uwsgi
uwsgi --reload uwsgi.pid #重啟
# nginx**
mkdir -p nginx/conf nginx/html nginx/logs
在conf目錄下新建nginx.conf
# 在 python的docker中用uwsgi跑起專案來即可
外部訪問:
# 第二種方式:dockerfile
# 寫乙個dockerfile即可
from python:3.6
maintainer lqz
workdir /home
run pip install django==1.11.9
run pip install uwsgi
expose 8080
cmd ["uwsgi","--ini","/home/django_test/uwsgi.ini"]
# 這句命令,是後台執行的,不會夯住,容器裡面就停了
# dockerfile路徑下要有乙個django_test.tar
#構建映象
docker build -t='django_1.11.9' .
# 執行容器
docker run -di --name=mydjango -p 8080:8080 -v /home/myproject:/home django_1.11.9
# 以後只需要從git上拉下最新**,重啟,完事(最新**)
Docker 使用Docker部署Node服務
docker 是乙個開源的容器引擎。開發者可以將自己的應用以及依賴打包為乙個可移植的容器,然後發布到 linux 機器上。它類似於乙個輕量級的虛擬機器,極大地方便了使用者在伺服器端部署和管理應用環境。apt install docker.io安裝成功後檢視docker版本 建立package.jso...
通過uwsgi和nginx部署django專案
在linux伺服器上採用uwsgi nginx的方式部署執行。uwsgi負責django專案的python動態解析 nginx負責靜態檔案 以及uwsgi pass到uwsgi。此外,在執行nginx之前,需要先收集django專案的靜態檔案到static目錄。首先,需要在settings.py檔案...
linux下通過Nginx部署django專案
安裝nginx sudo apt get install nginx 安裝啟動nginx fnngj ubuntu etc init.d nginx start 啟動 fnngj ubuntu etc init.d nginx stop 關閉 fnngj ubuntu etc init.d ngin...