python django mysql安装_Django+Nginx+uWSGI+Mysql搭建Python Web服务器
原標題:Django+Nginx+uWSGI+Mysql搭建Python Web服務器
安裝的時候全部選擇英文,記得以前選擇中文的時候安裝時出了問題,服務器組件一個不選,Ubuntu安裝做的很貼心,基本上是一路回車,就不詳細說明了。
裝好以后,首先要更新apt-get,貌似我的ubuntu鏡像是在國內站下載的,所以源是國內的地址,所以就不用更換源了。
1. 更新apt-get
1
2
sudoapt-getupdate
sudoapt-getupgrade
2. 安裝SSH
1
sudoapt-getinstallssh
裝好以后,用ifconfig查看一下IP地址
可以看到IP地址是192.168.0.154,下面我們就使用XSHELL連接192.168.0.154進行操作了。
3. 安裝Git
這一步不是必須的,因為我的測試項目是放在git.oschina.com上的,安裝git獲取項目代碼就很方便了
1
sudoapt-getinstallgit
安裝配置MySQL
1. 安裝
1
sudoapt-getinstallmysql-server
安裝過程中會提示讓你設置root密碼
2. 配置
2.1 數據庫初始化:
1
sudomysql_install_db
2.2 運行數據庫Mysql安全配置向導
1
2
sudomysql_secure_installation
輸入root密碼
是否修改root密碼,因為前面已經設置過了,選n
是否移除匿名用戶,肯定是要選y的
是否允許遠程登陸,如果選n的話,只能在本機訪問數據庫,建議選y
是否移除test數據庫,建議選是
重新加載權限表,選y
All done!
安裝配置Python環境
1.安裝python-dev包
1
sudoapt-getinstallpython-dev
2.安裝pip
1
sudoapt-getinstallpython-pip
3.更換pip源
因為國內使用默認的pip源速度很慢,所以需要更換,在用戶根目錄下新建.pip目錄,在該目錄下新建pip.conf文件
1
2
sudomkdir~/.pip
sudovi~/.pip/pip.conf
然后在文件里寫上:
1
2
3
4
5
6
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
4.安裝配置VirtualEnv和VirtualEnvWrapper
VirtualEnv可以管理多個開發環境,VirtualEnvWrapper使得VirtualEnv變得更好用
1
2
sudopipinstallvirtualenvvirtualenvwrapper
安裝完成以后,需要在環境變量中加入一些配置:
下面這句話是使用python3才需要執行的,python2不需要
1
2
echo"export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3">>~/.bashrc
不管python是什么版本,都要執行下面兩句:
1
2
3
echo"export WORKON_HOME=~/Env">>~/.bashrc
echo"source /usr/local/bin/virtualenvwrapper.sh">>~/.bashrc
可以重啟系統激活,也可以運行:
1
2
source~/.bashrc
然后就可以開始建立一個虛擬環境:
1
2
mkvirtualenvfirst
你會發現,提示符變成(first)user@hostname:~$,表示現在已經進入first的虛擬環境,在此環境下進行的pip等操作,只會在當前環境下生效,當前虛擬環境在/home/siva/Env/first目錄下
Django項目配置
1.安裝django
我使用選擇版本來安裝:
1
2
pipinstalldjango==1.10.1
2.下載或拷貝項目
安裝完成以后,使用git把項目clone下來,此處填寫你自己的地址:
1
gitclonehttps://git.oschina.net/xxx/Siva_First.git
此例子的項目名稱是Siva_First,路徑是在/home/siva/下
3.配置django
用Mysql建好項目的數據庫,然后進入Siva_First目錄,用django應用數據模型:
1
2
3
pythonmanage.pymakemigrations
pythonmanage.pymigrate
建立后臺超級用戶:
1
2
3
pythonmanage.pycreatesuperuser
靜態文件安置:
1
2
pythonmanage.pycollectstatic
4.測試項目
運行開發服務器測試一下是否可以正常運行:
1
2
pythonmanage.pyrunserver0.0.0.0:8000
這時,用瀏覽器打開可以看到網站
5.退出虛擬環境
因為當前是在first虛擬環境下,為了下一步的安裝,必須退出當前的虛擬環境:
1
2
deactivate
uWSGI安裝和配置
1.安裝uWSGI
pip下安裝很簡單:
1
sudopipinstalluwsgi
我們可以測試一下uwsgi是否安裝成功
1
uwsgi--http:8000--home/home/siva/Env/first--chdir/home/siva/Siva_First-wSiva_First.wsgi
上面的命令是使用8000端口,虛擬環境在/home/siva/Env/first,項目在/home/siva/Siva_First下
2.配置uWSGI
使用上面的命令行來部署網站肯定是不行的,我們需要使用“Emperor mode”,建立一個目錄來放配置文件:
1
2
3
sudomkdir-p/etc/uwsgi/sites
cd/etc/uwsgi/sites
以項目名稱來命名這個配置文件:
1
2
sudoviSiva_First.ini
內容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[uwsgi]
project=Siva_First
base=/home/siva
chdir=%(base)/%(project)
home=%(base)/Env/%(project)
module=%(project).wsgi:application
master=true
processes=5
socket=%(base)/%(project)/%(project).sock
chmod-socket=664
vacuum=true
project是項目名稱,base是項目所在位置
現在,配置文件建好了,但是uwsgi還不能自動運行我們需要在/etc/init目錄中建一個啟動腳本:
1
2
3
sudovi/etc/init/uwsgi.conf
內容如下:
1
2
3
4
5
6
7
8
9
10
deion"uWSGI application server in Emperor mode"
startonrunlevel[2345]
stoponrunlevel[!2345]
setuidsiva
setgidwww-data
exec/usr/local/bin/uwsgi--emperor/etc/uwsgi/sites
這一步完成以后,uwsgi還是不能正常啟動,是因為www-data用戶組還沒有創建,等我們裝完nginx以后就可以了。
反向代理:Nginx的安裝和配置
1.安裝
1
2
sudoapt-getinstallnginx
2.創建配置文件
1
2
sudovi/etc/nginx/sites-available/Siva_First
內容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
server{
listen80;
server_name 192.168.0.154;
location=/favicon.ico{access_logoff;log_not_foundoff;}
location/static/{
root/home/siva/Siva_First;
}
location/{
includeuwsgi_params;
uwsgi_passunix:/home/siva/Siva_First/Siva_First.sock;
}
}
然后把這個配置文件鏈接到sites-enabled目錄下
1
2
sudoln-s/etc/nginx/sites-available/Siva_First/etc/nginx/sites-enabled/
檢查一下配置文件的語法是否有問題
1
2
sudoservicenginxconfigtest
如果沒問題,那么重啟一下nginx和uwsgi的服務就可以訪問了
1
2
3
sudoservicenginxrestart
sudoserviceuwsgirestart
最后小編支持:
艾悠樂幫助IT行業中百萬學習者成功獲得高薪崗位,如果你也是其中一位有需要幫助的IT愛好者,那么請及時關注 aoyolo 公眾號哦,也可以隨時聯系美女老師QQ:艾悠樂報名群 593867611 留下您的聯系方式,我們會及時與您聯系,輕松讓您從屌絲逆襲高富帥`【Android,iOS,UI,HTML5,Node.js 所有大神匯聚艾悠樂等待你的到來】(*∩_∩*)′官方網站:www.aoyolo.com返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的python django mysql安装_Django+Nginx+uWSGI+Mysql搭建Python Web服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python用表达式解密密文_基于Pyt
- 下一篇: 比亚迪秦混动打火之后仪表盘显示没插电怎么