成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Ubuntu下部署Django應(yīng)用

tinysun1234 / 1042人閱讀

摘要:配置這個啟動其他方式安裝七牛云由于網(wǎng)站的靜態(tài)存儲要用七牛云,在運(yùn)行程序前要安裝否則報錯沒有的方法。七牛云安裝前注意安裝的版本,我被坑過一次,寫程序時是版本,部署時都了,接口全都不一樣。還有推薦下這篇來自的部署實(shí)例

以下所有代碼中的操作都需要在命令行運(yùn)行

安裝mysql
apt-get update
apt-get install mysql-server mysql-client

根據(jù)提示設(shè)置MySQL root用戶密碼

MySQL設(shè)置中文utf8格式

一般在/etc/mysql

[client]下添加default-character-set=utf8

[mysqld]下添加character-set-server=utf8

[mysql]下添加default-character-set=utf8

重啟MySQL

service mysql restart

進(jìn)入MySQL查看編碼

show variables like "char%";

為MySQL建立遠(yuǎn)程連接

由于修改數(shù)據(jù)庫時不可能頻繁的登服務(wù)器在命令行下修改,遠(yuǎn)程用workbench連接MySQL服務(wù)器是更方便的選擇,先登入MySQL,授權(quán)一個可以遠(yuǎn)程連接這個數(shù)據(jù)庫的用戶名和密碼

>>GRANT ALL PRIVILEGES ON *.* TO myuser@"%" IDENTIFIED BY "mypassword" WITH GRANT OPTION;
>>FLUSH PRIVILEGES; 

有的MySQL沒有開放遠(yuǎn)程連接的端口,只允許本地連接,你需要查看my.conf之類的文件,我的在/etc/mysql/my.cnf

bind-address:127.0.0.1

那行注釋掉即可

安裝pip

下載地址

apt-get install python-pip
安裝django1.7

django官網(wǎng)

pip install Django==1.7

python進(jìn)入python2.7解釋器

>>import django
>>

不出錯說明安裝成功

安裝mysql-python

安裝mysql-python注意需要配置mysql_config我的在(/usr/bin目錄下,其他的類似也在bin目錄下,視不同系統(tǒng)不同版本而定)如果 /usr/bin目錄下沒有mysql_config,需要安裝mysql開發(fā)包

apt-get install python-setuptools
apt-get install libmysqld-dev
apt-get install libmysqlclient-dev
apt-get install python-dev

下載鏈接https://pypi.python.org/pypi/MySQL-python/

wget "url"

解壓zip文件,首先安裝unzip

apt-get install unzip
unzip mysql-python.zip
cd mysql-python
vi site.cfg

mysql_config路徑那行取消注釋,路徑為/usr/bin/mysql_config

cd ..
python setup.py build
python setup.py install

進(jìn)去python解釋器

>>import MySQLdb
>>

不報錯說明安裝成功

MySQLdb不支持python3,可以試試pymysql,同時在Python3的項(xiàng)目中,需要在__init__.py中添加

import pymysql
pymysql.install_as_MySQLdb()

這是由于Django調(diào)用MySQL的接口問題,在setting.py文件中具體為"ENGINE": "django.db.backends.mysql",,仔細(xì)查看這句代碼就會發(fā)現(xiàn)Django默認(rèn)調(diào)用的是MySQLdb,雖然它只支持Python2.0。

配置nginx

最重要的就是nginx的配置

我的配置目錄在/etc/nginx/nginx.conf/etc/nginx/sites-enable/*后者可以在前者文件中設(shè)置,先查看配置文件/etc/nginx/sites-enable/django

根據(jù)自己的應(yīng)用修改配置文件中static路徑,server_name,root等。修改完畢注意要service nginx reload

關(guān)于靜態(tài)文件的地址配置還是需要多說一句,nginx中的/static目錄對應(yīng)的是setting.py文件中的STATIC_ROOT目錄,兩個寫一樣的,執(zhí)行python manage.py collectstatic收集的文件是admin后臺模塊的靜態(tài)樣式文件,執(zhí)行完后這些靜態(tài)文件就被復(fù)制在你設(shè)置的STATIC_ROOT目錄了。

部署代碼

因?yàn)槲业拇a在github,先安裝git

apt-get install git
git clone https://github.com/tcitry/dlpucsdn.git

部署以后注意修改數(shù)據(jù)庫密碼,郵件服務(wù)器密碼,debug模式False,template_debug模式為False。

virtualenv
pip install virtualenv

根據(jù)網(wǎng)上現(xiàn)有的教程簡單看看virtualenv的使用很容易理解,在項(xiàng)目依賴的相關(guān)程序配置過程中需要始終開著virtualenv。

配置Gunicorn

查看這個教程修改為自己的應(yīng)用參數(shù)

service gunicorn restart

當(dāng)部署一個應(yīng)用時可以將配置文件放在/etc/init.d/gunicorn.conf文件里面。但同時部署多個文件的時候,可以使用supervisor+gunicorn+virtualenv的部署方式,這樣可以在每個不同的項(xiàng)目目錄利用virtualenv為每個應(yīng)用配置不同的環(huán)境,同時可以使服務(wù)器的環(huán)境更加易于管理。

先在項(xiàng)目的根目錄測試一下,確保gunicorn安裝正確,

../bin/gunicorn myapp.wsgi:application

不出錯就說明正確了,出錯一般是提示沒有那個module名,檢查一下django是否安裝,執(zhí)行命令的文件目錄是否正確。

supervisor的使用
apt-get install supervisor
sudo vim /etc/supervisord.conf

編輯的內(nèi)容如下,請自行修改項(xiàng)目和目錄名。

[program:classroom]
command = sh /home/projects/classroom/classroom/gunicorn_start
user = root
redirect_stderr = true
autorestart = true

配置這個gunicorn_start.sh

cd /home/projects/classroom/classroom
../bin/gunicorn classroom.wsgi:application -w 4 -b :8000

啟動supervisor

/etc/init.d/supervisord start

其他方式

supervisorctl start 
supervisorctl stop 
安裝七牛云SDK

由于網(wǎng)站的靜態(tài)存儲要用七牛云,在運(yùn)行程序前要安裝否則報錯沒有qiniu SDK的方法。

pip install qiniu

七牛云安裝前注意安裝的版本,我被坑過一次,寫程序時是6.0版本,部署時都7.0了,接口全都不一樣。

還有

還有不推薦cloudflare等國外CDN加速,親身體驗(yàn)。

還有推薦下這篇來自digitalocean的部署實(shí)例

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37578.html

相關(guān)文章

  • 在阿里云上Ubuntu環(huán)境通過nginx+uwsgi部署Django項(xiàng)目

    年前阿里云打折,1核1G的云服務(wù)器一年只要300多塊,果斷就租了1年的。既然服務(wù)器已經(jīng)到手,怎么能不把自己寫的項(xiàng)目部署上去呢,其實(shí)網(wǎng)上關(guān)于nginx+uwsgi部署Django項(xiàng)目的文章有很多,但是這些文章要不就是很久之前的,要不就是互相抄襲,一路過來都是坑,這里重點(diǎn)吧在部署時候遇到的坑著重介紹一下: 1.首先部署django項(xiàng)目 首先是django項(xiàng)目,由于我是使用Anaconda來進(jìn)行版本控制...

    asce1885 評論0 收藏0
  • Django + Apache 部署

    摘要:站真是個學(xué)習(xí)的地方,竟發(fā)現(xiàn)了楊老師的部署視頻,楊老師的站主頁在此主頁有一系列的學(xué)習(xí)視頻,推薦干貨用于部署的項(xiàng)目主要用了提供后臺,所以靜態(tài)文件僅有部分的。接下來是部署和激活階段了。 吐吐槽 此篇blog將詳細(xì)記錄部署Django的每一個步驟,網(wǎng)上現(xiàn)有的教程實(shí)在太少太老了!好多坑!第一次嘗試后臺很懵,最坑的地方是安裝的wsgi部分模塊需要更新。B站真是個學(xué)習(xí)的地方,竟發(fā)現(xiàn)了楊老師的部署視頻...

    keke 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<