修改luffy/settings/prop.py中如下幾項css
ALLOWED_HOSTS = [ 'api.youdomain.com', ]
CORS_ORIGIN_WHITELIST = ( # 前端域名 "www.youdomain.com", # 後端api接口域名 "api.youdomain.com" )
ALIPAY_APPID = "xxxxxxx" APP_NOTIFY_URL = None ALIPAY_DEBUG = True # APIPAY_GATEWAY="https://openapi.alipay.com/gateway.do" APIPAY_GATEWAY = "https://openapi.alipaydev.com/gateway.do" ALIPAY_RETURN_URL = "http://www.youdomain.com/success" ALIPAY_NOTIFY_URL = "http://api.youdomain.com:8000/payments/success"
第14行 html
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffy.settings.prop")
不改也能夠,爲了在服務器測試方便一點
第6行 前端
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffy.settings.prop")
pip freeze > docs/requirements.txt
python manage.py collectstatic
git add . git commit -m "項目完成" git push -u origin master
設置後端服務器域名和端口python
Host:"http://api.youdomain.com:80",
npm run build
git add . git commit -m "項目完成" git push -u origin master
yum install python36-pip.noarch python36.x86_64 python36-devel.x86_64 nginx git gcc -y pip3 install virtualenv -i https://pypi.douban.com/simple
注意:uwsig 最好使用pip方式安裝mysql
pip3 install uwsgi -i https://pypi.douban.com/simple
yum install mysql-server -y
或者使用容器
設置密碼以及初始化配置請自行解決 nginx
systemctl start mysqld
create database luffy;
mysql -uroot -pmysql luffy < luffy.sql
也可配置好django後生 python manage.py makemigrations 成數據庫
可使用 yum 安裝並啓動 ,簡單粗暴!
爲了使用最新版,我採用解壓安裝
那種方式你喜歡就好!git
cd /opt/ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -xf redis-5.0.5.tar.gz cd /opt/redis-5.0.5 make && make install
vim redis.conf 69行 bind 127.0.0.1 改成 bind 0.0.0.0
nohup redis-server redis.conf &
cd /opt/ git clone https://gitee.com/SunHarvey/luffyweb.git
前端項目路徑爲 /opt/luffyweb/
只有 /opt/luffyweb/dist/ 文件有用,
dist用做前端根目錄,其餘的不要亦可!github
cd /opt/ virtualenv luffy 即就是虛擬環境路徑爲 /opt/luffy/ cd /opt/luffy/
source /opt/luffy/bin/activate
git clone https://gitee.com/SunHarvey/luffy.git 注:項目根路徑爲 /opt/luffy/luffy/ cd luffy 能夠看到如下文件 docs luffy manage.py scripts static
個人 django 使用的是2.0版本,不須要由於 pymysql 報錯該源碼
刪除 luffy/docs/requirements.txt中 xadmin中的那行web
pip3 install https://codeload.github.com/sshwsfc/xadmin/zip/django2 pip3 instal -r /opt/luffy/luffy/docs/requirements.txt
記得啓動MySQL數據庫和redisredis
python manage.py runserver
vim /opt/luffy/luffy/uwsgi.ini
[uwsgi] # 設置uwsgi 啓動用戶,不設置也可,會有警告,也能夠設置爲當前登陸的用戶 uid = nginx gid = nginx #使用nginx鏈接時使用,Django程序所在服務器地址 socket=127.0.0.1:8000 #直接作web服務器使用,Django程序所在服務器地址 #http=0.0.0.0:8080 #項目目錄 chdir=/opt/luffy/luffy #項目中wsgi.py文件的目錄,相對於項目目錄 wsgi-file=luffy/wsgi.py # 進程數 processes=1 # 線程數 threads=2 # uwsgi服務器的角色 master=True # 存放進程編號的文件 pidfile=uwsgi.pid # 日誌文件,由於uwsgi能夠脫離終端在後臺運行,日誌看不見。咱們之前的runserver是依賴終端的 daemonize=uwsgi.log # 指定依賴的虛擬環境 virtualenv=/opt/luffy/
# clear environment on exit #退出時清除環境 vacuum = true
chown -R nginx.nginx /opt/luffy/luffy/
也能夠把nginx換成當前登陸用戶的用戶名,其它用戶也能夠。
uwsgi --ini /opt/luffy/luffy/uwsgi.ini
vim /etc/nginx/conf.d/your.conf
# 設置後端uwsgi服務器,可寫多個用做負載均衡 upstream luffy { server 127.0.0.1:8000; } # 後端 api服務器配置 server { listen 80; server_name api.youdomain.com; location / { include uwsgi_params; uwsgi_pass luffy; } # 加載css、js文件 location ~ .*\.(css|js)$ { root /opt/luffy/luffy/; } } # 前端頁面服務器配置 server { listen 80; # 不要懷疑,你沒有看錯!nginx的80端口能夠啓動 n 個域名! server_name youdomain.com www.youdomain.com; location / { # /opt/luffyweb/dist/ 爲npm run build生成的文件夾 root /opt/luffyweb/dist/; index index.html; try_files $uri $uri /index.html; } }
這是最基本配置,其它優化配置就再也不贅述!
nginx -t
systemctl start nginx