摘要:百度不行就用吧,中文不行就找英文的,最后,給我誤打誤撞的部署成功了。準(zhǔn)備工作我使用的系統(tǒng)是版,官網(wǎng)下載地址安裝的時(shí)候全部選擇英文,記得以前選擇中文的時(shí)候安裝時(shí)出了問題,服務(wù)器組件一個(gè)不選,安裝做的很貼心,基本上是一路回車,就不詳細(xì)說明了。
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服務(wù)器
前不久為了部署Django項(xiàng)目,在百度上到處找教程,找到的教程因?yàn)檫@樣那樣的原因,總是失敗,可能是因?yàn)樽髡咚奖容^高吧,有些細(xì)節(jié)的東西估計(jì)沒寫出來,造成我這種初學(xué)者想照著做都做不成。百度不行就用Google吧,中文不行就找英文的,最后,給我誤打誤撞的部署成功了。為了加深印象,我用虛擬機(jī)再重新部署一次。
準(zhǔn)備工作我使用的系統(tǒng)是Ubuntu14.04.5 LTS(Trusty Tahr) server i386版,官網(wǎng)下載地址:http://releases.ubuntu.com/14.04.4/ubuntu-14.04.5-server-i386.iso
安裝的時(shí)候全部選擇英文,記得以前選擇中文的時(shí)候安裝時(shí)出了問題,服務(wù)器組件一個(gè)不選,Ubuntu安裝做的很貼心,基本上是一路回車,就不詳細(xì)說明了。
裝好以后,首先要更新apt-get,貌似我的ubuntu鏡像是在國(guó)內(nèi)站下載的,所以源是國(guó)內(nèi)的地址,所以就不用更換源了。
1. 更新apt-get
sudo apt-get update sudo apt-get upgrade
2. 安裝SSH
sudo apt-get install ssh
裝好以后,用ifconfig查看一下IP地址
可以看到IP地址是192.168.0.154,下面我們就使用XSHELL連接192.168.0.154進(jìn)行操作了。
3. 安裝Git
這一步不是必須的,因?yàn)槲业臏y(cè)試項(xiàng)目是放在git.oschina.com上的,安裝git獲取項(xiàng)目代碼就很方便了
sudo apt-get install git安裝配置MySQL
1. 安裝
sudo apt-get install mysql-server
安裝過程中會(huì)提示讓你設(shè)置root密碼
2. 配置
2.1 數(shù)據(jù)庫(kù)初始化:
sudo mysql_install_db
2.2 運(yùn)行數(shù)據(jù)庫(kù)Mysql安全配置向?qū)?/p>
sudo mysql_secure_installation
輸入root密碼
是否修改root密碼,因?yàn)榍懊嬉呀?jīng)設(shè)置過了,選n
是否移除匿名用戶,肯定是要選y的
是否允許遠(yuǎn)程登陸,如果選n的話,只能在本機(jī)訪問數(shù)據(jù)庫(kù),建議選y
是否移除test數(shù)據(jù)庫(kù),建議選是
重新加載權(quán)限表,選y
All done!
安裝配置Python環(huán)境1.安裝python-dev包
sudo apt-get install python-dev
2.安裝pip
sudo apt-get install python-pip
3.更換pip源
因?yàn)閲?guó)內(nèi)使用默認(rèn)的pip源速度很慢,所以需要更換,在用戶根目錄下新建.pip目錄,在該目錄下新建pip.conf文件
sudo mkdir ~/.pip sudo vi ~/.pip/pip.conf
然后在文件里寫上:
[global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
4.安裝配置VirtualEnv和VirtualEnvWrapper
VirtualEnv可以管理多個(gè)開發(fā)環(huán)境,VirtualEnvWrapper使得VirtualEnv變得更好用
sudo pip install virtualenv virtualenvwrapper
安裝完成以后,需要在環(huán)境變量中加入一些配置:
下面這句話是使用python3才需要執(zhí)行的,python2不需要
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
不管python是什么版本,都要執(zhí)行下面兩句:
echo "export WORKON_HOME=~/Env" >> ~/.bashrc echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
可以重啟系統(tǒng)激活,也可以運(yùn)行:
source ~/.bashrc
然后就可以開始建立一個(gè)虛擬環(huán)境:
mkvirtualenv first
你會(huì)發(fā)現(xiàn),提示符變成(first)user@hostname:~$,表示現(xiàn)在已經(jīng)進(jìn)入first的虛擬環(huán)境,在此環(huán)境下進(jìn)行的pip等操作,只會(huì)在當(dāng)前環(huán)境下生效,當(dāng)前虛擬環(huán)境在/home/siva/Env/first目錄下
Django項(xiàng)目配置1.安裝django
我使用選擇版本來安裝:
pip install django==1.10.1
2.下載或拷貝項(xiàng)目
安裝完成以后,使用git把項(xiàng)目clone下來,此處填寫你自己的地址:
git clone https://git.oschina.net/xxx/Siva_First.git
此例子的項(xiàng)目名稱是Siva_First,路徑是在/home/siva/下
3.配置django
用Mysql建好項(xiàng)目的數(shù)據(jù)庫(kù),然后進(jìn)入Siva_First目錄,用django應(yīng)用數(shù)據(jù)模型:
python manage.py makemigrations python manage.py migrate
建立后臺(tái)超級(jí)用戶:
python manage.py createsuperuser
靜態(tài)文件安置:
python manage.py collectstatic
4.測(cè)試項(xiàng)目
運(yùn)行開發(fā)服務(wù)器測(cè)試一下是否可以正常運(yùn)行:
python manage.py runserver 0.0.0.0:8000
這時(shí),用瀏覽器打開http://192.168.0.154:8000/可以看到網(wǎng)站
5.退出虛擬環(huán)境
因?yàn)楫?dāng)前是在first虛擬環(huán)境下,為了下一步的安裝,必須退出當(dāng)前的虛擬環(huán)境:
deactivateuWSGI安裝和配置
1.安裝uWSGI
pip下安裝很簡(jiǎn)單:
sudo pip install uwsgi
我們可以測(cè)試一下uwsgi是否安裝成功
uwsgi --http :8000 --home /home/siva/Env/first --chdir /home/siva/Siva_First -w Siva_First.wsgi
上面的命令是使用8000端口,虛擬環(huán)境在/home/siva/Env/first,項(xiàng)目在/home/siva/Siva_First下
2.配置uWSGI
使用上面的命令行來部署網(wǎng)站肯定是不行的,我們需要使用“Emperor mode”,建立一個(gè)目錄來放配置文件:
sudo mkdir -p /etc/uwsgi/sites cd /etc/uwsgi/sites
以項(xiàng)目名稱來命名這個(gè)配置文件:
sudo vi Siva_First.ini
內(nèi)容如下:
[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是項(xiàng)目名稱,base是項(xiàng)目所在位置
現(xiàn)在,配置文件建好了,但是uwsgi還不能自動(dòng)運(yùn)行我們需要在/etc/init目錄中建一個(gè)啟動(dòng)腳本:
sudo vi /etc/init/uwsgi.conf
內(nèi)容如下:
description "uWSGI application server in Emperor mode" start on runlevel [2345] stop on runlevel [!2345] setuid siva setgid www-data exec /usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
這一步完成以后,uwsgi還是不能正常啟動(dòng),是因?yàn)閣ww-data用戶組還沒有創(chuàng)建,等我們裝完nginx以后就可以了。
反向代理:Nginx的安裝和配置1.安裝
sudo apt-get install nginx
2.創(chuàng)建配置文件
sudo vi /etc/nginx/sites-available/Siva_First
內(nèi)容如下:
server { listen 80; server_name 192.168.0.154; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/siva/Siva_First; } location / { include uwsgi_params; uwsgi_pass unix:/home/siva/Siva_First/Siva_First.sock; } }
然后把這個(gè)配置文件鏈接到sites-enabled目錄下
sudo ln -s /etc/nginx/sites-available/Siva_First /etc/nginx/sites-enabled/
檢查一下配置文件的語(yǔ)法是否有問題
sudo service nginx configtest
如果沒問題,那么重啟一下nginx和uwsgi的服務(wù)就可以訪問了
sudo service nginx restart sudo service uwsgi restart
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44212.html
摘要:本講會(huì)對(duì)種子搜索網(wǎng)站的部署過程進(jìn)行詳細(xì)的講解。配置數(shù)據(jù)庫(kù)創(chuàng)建的數(shù)據(jù)庫(kù)你的密碼域名配置將你自己的域名寫入到導(dǎo)入表結(jié)構(gòu)創(chuàng)建超級(jí)用戶創(chuàng)建文件在目錄下,創(chuàng)建文件,并設(shè)置權(quán)限為運(yùn)行配置配置位于配置,在下新建寫入你的域名運(yùn)行大功告成本講會(huì)對(duì)種子搜索網(wǎng)站的部署過程進(jìn)行詳細(xì)的講解。 網(wǎng)站演示: https://bt.mypython.me 源碼地址: https://github.com/geeeeeee...
摘要:腳本啟動(dòng)服務(wù)器方便起見,我們可以設(shè)置腳本啟動(dòng)重啟服務(wù)器,在目錄下新建腳本,命名為,內(nèi)容如下修改文件權(quán)限腳本啟動(dòng)配置完成,如果發(fā)布新版本之后記得執(zhí)行該腳本才能生效。 系統(tǒng)需求 centos7 minimal python2.7 部署前的準(zhǔn)備工作 centos7 minimal是精簡(jiǎn)版本,需要手動(dòng)去配置一些設(shè)置。 1. 配置網(wǎng)絡(luò),設(shè)置固定ip ip可以自動(dòng)獲取,我這...
閱讀 3729·2021-09-22 15:49
閱讀 3300·2021-09-08 09:35
閱讀 1422·2019-08-30 15:55
閱讀 2321·2019-08-30 15:44
閱讀 714·2019-08-29 16:59
閱讀 1597·2019-08-29 16:16
閱讀 479·2019-08-28 18:06
閱讀 890·2019-08-27 10:55