摘要:配置這個(gè)啟動(dòng)其他方式安裝七牛云由于網(wǎng)站的靜態(tài)存儲(chǔ)要用七牛云,在運(yùn)行程序前要安裝否則報(bào)錯(cuò)沒(méi)有的方法。七牛云安裝前注意安裝的版本,我被坑過(guò)一次,寫程序時(shí)是版本,部署時(shí)都了,接口全都不一樣。還有推薦下這篇來(lái)自的部署實(shí)例
以下所有代碼中的操作都需要在命令行運(yùn)行
安裝mysqlapt-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ù)庫(kù)時(shí)不可能頻繁的登服務(wù)器在命令行下修改,遠(yuǎn)程用workbench連接MySQL服務(wù)器是更方便的選擇,先登入MySQL,授權(quán)一個(gè)可以遠(yuǎn)程連接這個(gè)數(shù)據(jù)庫(kù)的用戶名和密碼
>>GRANT ALL PRIVILEGES ON *.* TO myuser@"%" IDENTIFIED BY "mypassword" WITH GRANT OPTION; >>FLUSH PRIVILEGES;
有的MySQL沒(méi)有開放遠(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 >>
不出錯(cuò)說(shuō)明安裝成功
安裝mysql-python安裝mysql-python注意需要配置mysql_config我的在(/usr/bin目錄下,其他的類似也在bin目錄下,視不同系統(tǒng)不同版本而定)如果 /usr/bin目錄下沒(méi)有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 >>
不報(bào)錯(cuò)說(shuō)明安裝成功
MySQLdb不支持python3,可以試試pymysql,同時(shí)在Python3的項(xiàng)目中,需要在__init__.py中添加
import pymysql pymysql.install_as_MySQLdb()
這是由于Django調(diào)用MySQL的接口問(wèn)題,在setting.py文件中具體為"ENGINE": "django.db.backends.mysql",,仔細(xì)查看這句代碼就會(huì)發(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)文件的地址配置還是需要多說(shuō)一句,nginx中的/static目錄對(duì)應(yīng)的是setting.py文件中的STATIC_ROOT目錄,兩個(gè)寫一樣的,執(zhí)行python manage.py collectstatic收集的文件是admin后臺(tái)模塊的靜態(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ù)庫(kù)密碼,郵件服務(wù)器密碼,debug模式False,template_debug模式為False。
virtualenvpip install virtualenv
根據(jù)網(wǎng)上現(xiàn)有的教程簡(jiǎn)單看看virtualenv的使用很容易理解,在項(xiàng)目依賴的相關(guān)程序配置過(guò)程中需要始終開著virtualenv。
配置Gunicorn查看這個(gè)教程修改為自己的應(yīng)用參數(shù)
service gunicorn restart
當(dāng)部署一個(gè)應(yīng)用時(shí)可以將配置文件放在/etc/init.d/gunicorn.conf文件里面。但同時(shí)部署多個(gè)文件的時(shí)候,可以使用supervisor+gunicorn+virtualenv的部署方式,這樣可以在每個(gè)不同的項(xiàng)目目錄利用virtualenv為每個(gè)應(yīng)用配置不同的環(huán)境,同時(shí)可以使服務(wù)器的環(huán)境更加易于管理。
先在項(xiàng)目的根目錄測(cè)試一下,確保gunicorn安裝正確,
../bin/gunicorn myapp.wsgi:application
不出錯(cuò)就說(shuō)明正確了,出錯(cuò)一般是提示沒(méi)有那個(gè)module名,檢查一下django是否安裝,執(zhí)行命令的文件目錄是否正確。
supervisor的使用apt-get install supervisor sudo vim /etc/supervisord.conf
編輯的內(nèi)容如下,請(qǐng)自行修改項(xiàng)目和目錄名。
[program:classroom] command = sh /home/projects/classroom/classroom/gunicorn_start user = root redirect_stderr = true autorestart = true
配置這個(gè)gunicorn_start.sh
cd /home/projects/classroom/classroom ../bin/gunicorn classroom.wsgi:application -w 4 -b :8000
啟動(dòng)supervisor
/etc/init.d/supervisord start
其他方式
supervisorctl start安裝七牛云SDKsupervisorctl stop
由于網(wǎng)站的靜態(tài)存儲(chǔ)要用七牛云,在運(yùn)行程序前要安裝否則報(bào)錯(cuò)沒(méi)有qiniu SDK的方法。
pip install qiniu
七牛云安裝前注意安裝的版本,我被坑過(guò)一次,寫程序時(shí)是6.0版本,部署時(shí)都7.0了,接口全都不一樣。
還有還有不推薦cloudflare等國(guó)外CDN加速,親身體驗(yàn)。
還有推薦下這篇來(lái)自digitalocean的部署實(shí)例
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/37578.html
年前阿里云打折,1核1G的云服務(wù)器一年只要300多塊,果斷就租了1年的。既然服務(wù)器已經(jīng)到手,怎么能不把自己寫的項(xiàng)目部署上去呢,其實(shí)網(wǎng)上關(guān)于nginx+uwsgi部署Django項(xiàng)目的文章有很多,但是這些文章要不就是很久之前的,要不就是互相抄襲,一路過(guò)來(lái)都是坑,這里重點(diǎn)吧在部署時(shí)候遇到的坑著重介紹一下: 1.首先部署django項(xiàng)目 首先是django項(xiàng)目,由于我是使用Anaconda來(lái)進(jìn)行版本控制...
摘要:站真是個(gè)學(xué)習(xí)的地方,竟發(fā)現(xiàn)了楊老師的部署視頻,楊老師的站主頁(yè)在此主頁(yè)有一系列的學(xué)習(xí)視頻,推薦干貨用于部署的項(xiàng)目主要用了提供后臺(tái),所以靜態(tài)文件僅有部分的。接下來(lái)是部署和激活階段了。 吐吐槽 此篇blog將詳細(xì)記錄部署Django的每一個(gè)步驟,網(wǎng)上現(xiàn)有的教程實(shí)在太少太老了!好多坑!第一次嘗試后臺(tái)很懵,最坑的地方是安裝的wsgi部分模塊需要更新。B站真是個(gè)學(xué)習(xí)的地方,竟發(fā)現(xiàn)了楊老師的部署視頻...
閱讀 2059·2023-04-25 17:48
閱讀 3576·2021-09-22 15:37
閱讀 2931·2021-09-22 15:36
閱讀 5860·2021-09-22 15:06
閱讀 1634·2019-08-30 15:53
閱讀 1422·2019-08-30 15:52
閱讀 706·2019-08-30 13:48
閱讀 1115·2019-08-30 12:44