細(xì)數(shù)apache2 - Django部署

前幾天阿里云搞活動(dòng),云服務(wù)器ECS活動(dòng),30元一個(gè)月,沒禁住誘惑買了一年,那好吧,就把我之前練手做的Django項(xiàng)目部署一下傳送門 ,這個(gè)項(xiàng)目是什么就不細(xì)說了,本文主要說的是部署到阿里云


先說下我的環(huán)境,免得有的哥們對(duì)照我的這個(gè)做出來,發(fā)現(xiàn)不能用:

系統(tǒng)ubuntu16.04、python2.7.12、django1.10.6、mysql5.7、apache2.4.18


買了阿里云回來,發(fā)現(xiàn)里面有python2.7,那正好,我的項(xiàng)目就是2.7版本,不需要改了

然后就是按照網(wǎng)上教程的套路pip install Django、sudo apt-get install Apache2等等,但是發(fā)現(xiàn)不行,我真的不知道是為啥,連apache登錄的記錄都沒有,那么如果你正在部署而且與我的環(huán)境一樣,請(qǐng)按照我下面的步驟,不敢保證百分百成功,但是至少可以借鑒:

1.安裝django1.10.6? ? pip install Django==1.10.6

2.安裝mysql? sudo apt-get install mysql-server mysql-client ,因?yàn)槲业南到y(tǒng)版本是16.04,所以下載好之后就是5.7的

3.因?yàn)槟闶遣渴餌jango,所以你的django項(xiàng)目里settings.py肯定連接的你的數(shù)據(jù)庫(kù),那么請(qǐng)你這時(shí)候配置mysql的時(shí)候按照原來的數(shù)據(jù)配置,免得出現(xiàn)未知錯(cuò)誤,主要就是數(shù)據(jù)庫(kù)的登錄密碼和新建數(shù)據(jù)庫(kù)【這個(gè)不會(huì)的話就自己百度】

4.數(shù)據(jù)庫(kù)建好了后,如果你原先的數(shù)據(jù)庫(kù)使用的字符集是utf-8,就需要修改字符集,否則傳數(shù)據(jù)的時(shí)候有異常,字符集修改,命令 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf,【vi 指令,不會(huì)的話,也是百度學(xué)習(xí)】,在[mysqld]域下加上:character-set-server=utf8,再重新啟動(dòng) MySQL 服務(wù)即可:sudo systemctl restart mysql

5.如果你的原工程使用過數(shù)據(jù)庫(kù),并且在moudle中沒有刪除0001_initial.py,那就到對(duì)應(yīng)的目錄下用rm -fr 0001_initial.py的撒謊年初該文件,之后到django的目錄下用 python manage.py makemigrations 和 python manage.py migrate 把數(shù)據(jù)表新建上去

6.這時(shí)候就可以查看你的django工程是否已經(jīng)安裝好了,python manage.py runserver 0.0.0.0:8000,正確運(yùn)行就說明django是沒有問題的,那么下面就開始部署到apache2中,但是如果出現(xiàn)python未連接mysql的話,就需要安裝pymysql , sudo pip install pymysql,安裝好在啟動(dòng)一次,測(cè)試是否成功,如果沒有的話,請(qǐng)檢查以上步驟,你是否正確

7.先sudo apt-get install httpie裝一個(gè)測(cè)試網(wǎng)絡(luò)的工具吧,下面會(huì)用的

8.安裝apache2, sudo apt-get install apache2,安裝好之后注意了,不要按照網(wǎng)上說的在 /etc/apache2/sites-available目錄下vi xxx.conf,然后重啟apache2服務(wù)器,這樣不行,可能是我的方法問題,但是我真的沒打開過網(wǎng)頁(yè)

9.我是這么做的,我在/etc/apache2/目錄下,打開apache2.conf按照下圖的形式添加【紅色框框是我自己新加的內(nèi)容】,我的django工程是放在/var/www/下的


配置文件

10.然后有人會(huì)說,要配置wsgi.py,真的不要配置,就這樣就好了,重啟apache2?? service apache2 restart,之前不是安裝過httpie么,現(xiàn)在就用上了,http 127.0.0.1:8000測(cè)試你的工程通了沒,然后在測(cè)試公網(wǎng)IP,如果是和我一樣的阿里云還需要配置安全組【這個(gè)在阿里云網(wǎng)站配置,在你的控制臺(tái)左下方有個(gè) 安全組,然后在入方向添加安全組規(guī)則就好了】

說下service apache2 restart會(huì)遇到問題,有時(shí)候會(huì)遇到j(luò)ob for apache2.server faild because the control process exited with error code ....這個(gè)很有可能是你的配置文件寫錯(cuò)了,請(qǐng)自己仔細(xì)檢查一下

大概就這么些內(nèi)容,如果你在部署中有遇到問題,也歡迎留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容