UPDATE: Xftp 和 Xshell 的官方版本確認(rèn)存在后門,請(qǐng)更換其他工具
0栅炒、若為windows環(huán)境乖仇,先安裝Xftp和Xshell
Xftp下載地址:
http://www.xiazaiba.com/html/25051.html
Xshell下載地址:
http://www.xiazaiba.com/html/6972.html
xftp使用教程:
http://jingyan.baidu.com/article/e75057f2c2f9eeebc91a89e6.html
xshell的使用基本是一樣的廉油,輸入賬號(hào)密碼和公網(wǎng)(外網(wǎng))域名就行了
xftp使用SFTP協(xié)議,xshell選擇SSH協(xié)議
之后的操作是在xshell上
1剑梳、安裝django
安裝pip工具
sudo yum install epel-release
sudo yum install python-pip
sudo yum install --upgrade pip
上面這里更新可能會(huì)失敗,多嘗試幾次就行了
pip install django
在home文件夾下創(chuàng)建第一個(gè)django工程(其它目錄下可能導(dǎo)致沒有權(quán)限的問(wèn)題)
cd /home
django-admin startproject
mysit
進(jìn)入 setting.py 配置靜態(tài)文件
注:本文章中的項(xiàng)目名稱為mysite肄梨,若不同阻荒,則需要做相應(yīng)改變
cd /home/
mysite/mysite
到達(dá)settings.py的文件尾部進(jìn)入編輯模式后挠锥,輸入:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
保存后更新應(yīng)用配置众羡,自動(dòng)生成 static 目錄
./manage.py collectstatic
測(cè)試應(yīng)用是否能正常運(yùn)行,如果在瀏覽器里能訪問(wèn)8080端口的內(nèi)容蓖租,即成功
./manage.py runserver 0.0.0.0:8080
顯示it worked粱侣!即第一步成功。
額外配置:
配置靜態(tài)文件是為了進(jìn)入127.0.0.1/8080/admin/后網(wǎng)頁(yè)的CSS還存在蓖宦,如果照著這個(gè)教程來(lái)齐婴,那就是:
并且使用xftp在/home/mysite這個(gè)路徑下新建名為"static"的文件夾和名為"media"的文件夾
順便在MIDDLEWARE_CLASSES 設(shè)置列表里的 'django.contrib.sessions.middleware.SessionMiddleware',下面加上:
'django.middleware.locale.LocaleMiddleware',
讓admin頁(yè)面變成中文
2、安裝和配置python開發(fā)包稠茂,uWSGI
sudo yum install python-devel gcc
sudo pip install uwsgi
測(cè)試 uWSGi 是否能正常運(yùn)行:
uwsgi --http :8080 --chdir /home/mysite -w mysite.wsgi
打開網(wǎng)站柠偶,顯示it worked!即成功睬关。如果此時(shí)提示:
probably another instance of uWSGI is running on the same address (:8080).
bind(): Address already in use [诱担? line ?]
則可以輸入以下指令查詢端口占用情況电爹,然后殺死名稱為uwsgi的進(jìn)程
lsof -i
sudo kill -9
'對(duì)應(yīng)的PID號(hào)碼'
創(chuàng)建 uWSGI 運(yùn)行的配置文件 mysite.ini:
sudo mkdir -p /etc/uwsgi
cd /etc/uwsgi/
sudo vi mysite.ini
輸入配置文件內(nèi)容
在/run目錄下新建一個(gè)叫"uwsgi"的文件夾
不要在/tmp目錄下新建這個(gè)文件夾蔫仙,會(huì)因?yàn)闄?quán)限問(wèn)題而無(wú)法創(chuàng)建文件導(dǎo)致錯(cuò)誤
如果你和我的文件名以及項(xiàng)目路徑都是相同的,那么就不需要做相應(yīng)的路徑修改
3丐箩、使用supervisor
sudo pip install supervisor
生成 supervisor 默認(rèn)配置文件摇邦,比如我們放在 /etc/supervisord.conf 路徑中:
打開 supervisord.conf 在最底部添加:
啟用supervisor:
supervisord -c /etc/supervisord.conf
重啟 mysite 程序(項(xiàng)目):
supervisorctl -c /etc/supervisord.conf restart mysite
相應(yīng)指令的還有start和stop
4、安裝nginx
sudo yum install nginx
打開 nginx 的配置文件:
sudo vi /etc/nginx/nginx.conf
添加以下內(nèi)容
這里要保證存放log的文件夾是存在的屎勘,所以要使用xftp在/home目錄下新建一個(gè)名為"logs"的文件夾
圖中的server_name后面的參數(shù)要改成你自己的域名或你的公網(wǎng)(外網(wǎng))IP地址(不包含端口號(hào))
保存后測(cè)試配置文件是否有錯(cuò)誤:
sudo nginx -t
顯示 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 則成功
啟動(dòng)nginx和刷新django項(xiàng)目
sudo systemctl restart nginx
supervisorctl -c /etc/supervisord.conf restart mysite
瀏覽器輸入你的域名或者ip地址(不包括端口號(hào))躬审,顯示it worked!則成功正什。
5勋磕、安裝mysql
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server -y
service mysqld start
設(shè)置mysql密碼密碼,默認(rèn)用戶名root
mysql -uroot
set password for 'root'@'localhost' = password('
你需要設(shè)置的密碼'');
連接mysql和python犀概,安裝mysqldb
sudo yum install mysql-devel
pip install mysql-python
連接django和mysql
打開settings.py文件立哑,修改DATABASES
進(jìn)入mysql,創(chuàng)建一個(gè)名為"mysite"的數(shù)據(jù)庫(kù)
mysql -uroot -p"
你的密碼"
CREATE DATABASE mysite DEFAULT CHARACTER SET utf8
這里不要忘記設(shè)置字符集是utf8姻灶,不然你在admin下輸入中文到數(shù)據(jù)庫(kù)會(huì)報(bào)500的錯(cuò)誤
也不要修改my.cnf文件來(lái)定義默認(rèn)字符集铛绰,網(wǎng)上的教程會(huì)導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法啟動(dòng)
6、最后
使用DEBUG = False产喉,進(jìn)入settings.py
將DEBUG = True 改為 DEBUG = False
在下面這句里添加'*'后保存
ALLOWED_HOSTS = ['*']
為模板添加路徑
給settings.py里添加如下代碼捂掰,并修改'DIR'后面的值
TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')
最終我們的網(wǎng)站結(jié)構(gòu)應(yīng)該是這樣的