在一臺新的服務器上x須要先安裝python3 ,git , 等html
安裝python3 以前博客寫過python
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
也能夠寫成配置文件