康少帶你python項目從部署到上線雲服務器

首先,服務器要安裝nginx和mysql,網站文件建議放在/usr/local/www,環境python3.6+mysql5.7,阿里雲的服務器能夠用公共鏡像有一個配置好的,否則就本身裝一下環境吧。python

本項目名稱:loginOrRegistermysql

對於小白來講首先咱們須要乾的一件事情就是安置與配置nginx下面就是nginx的配置nginx

1.nginx配置

安裝nginxc++

# gcc 安裝
yum install gcc-c++

# PCRE pcre-devel 安裝
yum install -y pcre pcre-devel

# zlib 安裝
yum install -y zlib zlib-devel

# OpenSSL 安裝
yum install -y openssl openssl-devel

#進入指定目錄
cd /usr/local

#下載nginx包,若是沒有wget命令,就yum install wget安裝便可
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

# 解壓
tar -zxvf nginx-1.10.1.tar.gz

# 配置
cd nginx-1.10.1
./configure

# 編譯
make
make install

# 啓動,中止nginx
cd /usr/local/nginx/sbin/  # 執行文件在此處
./nginx   # 啓動
./nginx -s stop  # 中止
./nginx -s reload  # 重啓

# 查詢nginx進程
ps aux|grep nginx

注意配置文件位置,首先找到此文件sql

img

修改配置文件django

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
    listen      80;  # 監聽端口,注意瀏覽器用的是80端口,你能夠選擇8000也行,你隨意
    server_name yun-guo.top;  # 你的域名
    charset     utf-8;

    client_max_body_size 75M;


    location /static {  # django的項目靜態文件
        alias /usr/local/www/book/bookmanage/booksys/static;
        }

    location / {  # uwsgi部署django項目的端口
        uwsgi_pass  127.0.0.1:8001;
        include     /usr/local/nginx/conf/uwsgi_params;  # 找一找你的nginx下的uwsgi_param文件
        }
    }

}

而後cd /usr/local/nginx/sbin下,執行./nginx -t,檢測配置文件是否有錯誤,沒有的話執行./nginx,或者./nginx -s reload重啓nginx瀏覽器

2.項目文件

img

3.uwsgi配置

首先pip install uwsgi服務器

安裝uwsgiapp

uwsgi能夠用命令行帶參數執行,本次用配置文件執行,uwsgi.ini,文件放置在項目中便可,與manage.py的文件內。socket

img

uwsgi.ini的內容

[uwsgi]
chdir = /usr/local/www/wuliu  # 項目路徑,根目錄
module = wuliu.wsgi:application  # 改一下項目名便可

master = True
processes = 4
harakiri = 60
max=requests = 5000

socket = 127.0.0.1:8001  # 設置運行的端口,不要有衝突便可
uid =1000
gid = 2000

pidfile = /usr/local/www/uwsgi.pid
vacuum = True

到項目目錄下,執性uwsgi --ini uwsgi.ini,而後直接關掉窗口便可

4.注意事項

mysql用pycharm鏈接問題

可能被拒絕遠程,進行以下操做

若是想root用戶使用password從任何主機鏈接到mysql服務器的話。

先進入mysql命令行,而後執行

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

注意這個password是你另設置的遠程鏈接密碼,與你服務器mysql密碼不是一個。這樣就能用pycharm直接操做服務器的mysql了

django項目依賴問題

本身改一下服務器端的django版本等,執行makemigrations和migrate出現的問題,自行看報錯,通常爲依賴庫問題

相關文章
相關標籤/搜索