後端搞起python
pip3 install -i https://pypi.douban.com/simple uwsgi
source s21Django1/bin/activate #激活 virtualenv --no-site-packages --python=python3 s21uwsgi #這是建立虛擬環境
使用uwsgi的命令,參數形式啓動 crm項目mysql
uwsgi --http :8000 --module mysite.wsgi --http 指定是http協議,去啓動項目 --module 指定django目錄下的wsgi文件 #這樣加載的 沒法加載靜態文件
uwsgi --http :9000 --module Aida_crm.wsgi --py-autoreload=1
uwsgi以配置文件的形式啓動 ,就是把你的啓動參數,寫入到一個文件中,而後,執行這個文件便可linux
[uwsgi] # Django-related settings # the base directory (full path) #填入項目的絕對路徑 ,項目的第一層路徑 chdir = /opt/s21/Aida_crm # Django's wsgi file #指定第二層項目下的wsgi文件 module = Aida_crm.wsgi # the virtualenv (full path) #找到虛擬環境的絕對路徑 home = /opt/s21/s21uwsgi # process-related settings # master master = true # 以cpu核數來填寫,uwsgi的工做進程數 processes = 2 # the socket (use the full path to be safe #這是以uwsgi_socket協議啓動的項目,沒法再去經過瀏覽器訪問,必須經過nginx以uwsgi協議去反向代理 socket = 0.0.0.0:8000 #也能夠使用http協議去啓動(僅用做調試使用) #http = 0.0.0.0:9000 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true #後臺運行參數,將uwsgi運行在後臺,而且將django日誌輸出到uwsgi.log中 daemonize = uwsgi.log
指定配置文件啓動djangonginx
uwsgi --ini uwsgi.ini #到這裏 配置文件生效 項目已經啓動 由於使用了socket 因此必須使用nginx反向代理
server { listen 80; server_name www.oldchouhuo.com; #charset koi8-r; #access_log logs/host.access.log main; #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main; location / { #轉發請求的方式配置在這裏 #轉發請求的方式配置在這裏 #轉發請求的方式配置在這裏 include uwsgi_params; uwsgi_pass 0.0.0.0:8000; } }
去瀏覽器訪問nginx的地址,查看可否訪問到crm的內容 #注意: 去將要訪問的電腦修改host host文件在 c:windows/system32/driver/etc/hosts 添加 192.168.108.130 域名(www.oldchouhuo.com)
#對django的settings.py配置修改以下 #添加以下參數 STATIC_ROOT='/opt/s21static' STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') ] 執行命令,收集django的全部靜態文件,系統會自動建立'/opt/s21static' 這個文件夾 python3 manage.py collectstatic
location / { include uwsgi_params; uwsgi_pass 0.0.0.0:8000; } #添加一個location,針對nginx的url進行匹配處理 #當請求時 www.oldchouhuo.com/static/..... 這樣的url的時候,nginx進行別名修改,去/opt/s21static底下去尋找資源文件 location /static { alias /opt/s21static; }