部署python django程序

在一臺新的服務器上x須要先安裝python3  ,git , 等html

安裝python3

安裝python3 以前博客寫過python

建立虛擬環境,我用的是venv

https://docs.python.org/3/library/venv.htmlmysql

首先建立一個空目錄linux

python3 -m venv DIR

在linux 啓動虛擬環境是nginx

source bin/activate

pip3安裝各類Python包git

pip3 install -r requirements.txtsql

note: requirements.txt 這個文件名不必定非是這個,只要內容符合要求就行django

關於生成這個文件  的命令是vim

pip freeze > FILENAME.txtcentos

 

退出虛擬環境

deactivate

linux安裝mysql

參考

 http://www.runoob.com/mysql/mysql-install.html

yum install -y mysql

yum install -y mysql-server

yum install -y devel

啓動

service mysqld start



部署nginx 和uwsgi

安裝uwsgi
pip3 install uwsgi

安裝nginx
yum install nginx
在執行這個命令後發現錯誤信息, no valid packages nginx
red hat/centos 發行版下,看過望山各類答案仍是找不到
故記錄一下
求助於nginx 官網

https://nginx.org/en/linux_packages.html#stable

按照官網的命令,
先建立一個文件
vim /etc/yum.repos.d/nginx.repo

uwsgi 連接  https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html


To set up the yum repository for RHEL/CentOS, create the file named with the following contents:
在這個文件下寫入/etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

 

標紅部分要根據你的操做系統版原本改
Replace 「」 with 「」 or 「」, depending on the distribution used,
and 「」 with 「」 or 「」, for 6.x or 7.x versions, respectively.
翻譯是:
將用rhel 或者centos 來替代'OS' ,這個取決於你的發行版,用6或者7來替代 「」
這個取決因而6.x 仍是7.x
改完以後保存退出
再執行命令OSrhelcentosOSRELEASE67OSRELEASE
yum install nginx

就大功告成了

Currently, nginx packages are available for the following distributions and versions:

關於版本,可經過uname命令來看 

[root@host yuyang]# uname -r
4.13.7-1.el6.elrepo.i686
[root@host yuyang]# uname -v
#1 SMP Sat Oct 14 11:42:10 EDT 2017
[root@host yuyang]# uname -i
i386

 

RHEL/CentOS:

Version Supported Platforms
6.x x86_64, i386
7.4+ x86_64, ppc64le

Debian:

Version Codename Supported Platforms
8.x jessie x86_64, i386
9.x stretch x86_64, i386

Ubuntu:

Version Codename Supported Platforms
14.04 trusty x86_64, i386, aarch64/arm64
16.04 xenial x86_64, i386, ppc64el, aarch64/arm64
17.04 zesty x86_64, i386

SLES:

Version Supported Platforms
12 x86_64



關於部署django幾點注意點:
  settings.py ALLOWED_HOST 須要設置 * 或者對應ip
DEBUG 改爲False
  settings 設置STATIC_ROOT
在啓動uwsgi前,收集靜態文件,命令是python manage.py collectstatic ,這個命令回見django裏面的靜態文件全收集到STATIC_ROOT 所指定的目錄下


以前一夜failed to open python.py 這個bug 是由於 --chdir --wsgi-file 的文件路徑寫的不對,寫重複了。

啓動有mysql 的django 項目,報 nomudule package MySQLdb 須要
pip3 install mysqlclient

 

在deug設置爲false 後靜態文件是從STATIC_ROOT 下面找的
uwsgi --http :9003 --chdir /root/s5/deploy1 --wsgi-file deploy1/wsgi.py --master --processes 1 --threads 2 --static-map /static=/root/s5/xxxxxx

 

也能夠寫成配置文件
相關文章
相關標籤/搜索