1 安裝python環(huán)境和所需庫(kù)
1 檢查python環(huán)境
2 檢查pip是否可用
不可用,使用命令apt-get install python-pip進(jìn)行安裝忙上,出現(xiàn)安裝不了
問(wèn)題是需要更新系統(tǒng)鏡像源
備份系統(tǒng)鏡像源文件cp /etc/apt/sources.list /etc/apt/sources.list.backup
打開(kāi)并修改vi /etc/apt/sources.list
添加以下內(nèi)容:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted univer
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
更新系統(tǒng)鏡像源apt-get uptate掸哑,重新安裝pip成功治拿,但使用Pip出現(xiàn)問(wèn)題
解決方法糠溜,系統(tǒng)鏡像源添加以下內(nèi)容:
deb http://cn.archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-proposed main multiverse restricted univers
再次更新系統(tǒng)鏡像源攒盈,卸載pip , apt-get remove python-pip壳贪,再重新安裝apt-get install python-pip
3 安裝項(xiàng)目所需的python 庫(kù)
python3 -m pip install -r requirements_blog.txt
2 安裝數(shù)據(jù)庫(kù)并遷移數(shù)據(jù)
1安裝配置MySQL
安裝命令:
sudo apt-get install mysql-server //服務(wù)端
sudo apt-get install mysql-client //客戶端
sudo apt-get install libmysqlclient-dev //程序編譯時(shí)鏈接的庫(kù)
安裝完成之后可以使用如下命令來(lái)檢查是否安裝成功:sudo netstat -tap | grep mysql
安裝成功登錄:mysql -u root -p 陵珍,輸入初始密碼(直接回車)
更改mysql密碼如下:
use mysql;
// 下一行,密碼改為了yourpassword违施,可以設(shè)置成其他的
update mysql.user set authentication_string=password('yourpassword') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
設(shè)置允許遠(yuǎn)程登錄:
首先編輯文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注釋掉bind-address = 127.0.0.1:
保存退出互纯,然后進(jìn)入mysql服務(wù),執(zhí)行授權(quán)命令:
grant all on *.* to root@'%' identified by '你的密碼' with grant option;
flush privileges;
重啟mysql服務(wù)磕蒲,進(jìn)行遠(yuǎn)程連接
service mysql restart
2 遷移數(shù)據(jù)庫(kù)
1 導(dǎo)出(轉(zhuǎn)儲(chǔ)sql文件)項(xiàng)目所需數(shù)據(jù)庫(kù).sql文件到windows本地留潦, 在服務(wù)器上建一個(gè)同名數(shù)據(jù)庫(kù)(注意字符集和排序與原來(lái)一致)
2 用可視化工具導(dǎo)入sql(運(yùn)行sql文件)到部署服務(wù)器(如Ubuntu)只盹,或上傳sql 文件到服務(wù)器,并執(zhí)行sql腳本【 Mysql 的 bin 目錄】 \mysql – u 用戶名 – p 密碼 – D 數(shù)據(jù)庫(kù) < 【 sql 腳本文件路徑全名】兔院,示例:mysql -u root -p123456 -D djangoblog < /root/djangoblog.sql
3 安裝項(xiàng)目其他依賴服務(wù)(例如redis或mongodb)
略
4 Django開(kāi)發(fā)模式調(diào)試
把項(xiàng)目傳到指定路徑并解壓(一般不要放在root下)殖卑,開(kāi)啟django調(diào)試模式,無(wú)異常
5 安裝并配置nginx服務(wù)
1 安裝nginx 依賴包
出現(xiàn)Unable to acquire the dpkg frontend lock問(wèn)題秆乳,解決方案重啟系統(tǒng)
sudo systemctl --force --force reboot
再繼續(xù)安裝
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
2 下載并解壓nginx
cd /usr/local
mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
3 編譯并安裝
進(jìn)入nginx目錄
/usr/local/nginx/nginx-1.13.7
執(zhí)行命令
./configure
執(zhí)行make命令
make
執(zhí)行make install命令
make install
4 啟動(dòng)nginx懦鼠,進(jìn)入瀏覽器測(cè)試
進(jìn)入nginx啟動(dòng)目錄
cd /usr/local/nginx/sbin
啟動(dòng)nginx
./nginx
輸入服務(wù)器IP測(cè)試
5 修改 nginx 配置文件
1 把nginx 安裝目錄下的 nginx.conf 文件 copy 到項(xiàng)目目錄下,如下
cp /usr/local/nginx/conf/nginx.conf /home/DjangoBlog/blog_nginx.conf
2 進(jìn)入blog_nginx.conf文件 屹堰,修改如下內(nèi)容:
|
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
定義nginx 訪問(wèn)和錯(cuò)誤的路徑
access_log /home/DjangoBlog/nginx_access.log;
error_log /home/DjangoBlog/nginx_error.log;
location /static {
# 定義靜態(tài)文件的系統(tǒng)絕對(duì)路徑(跟系統(tǒng)靜態(tài)文件路徑一致)
alias /home/DjangoBlog/collectedstatic;
}
location / {
# 定義uwsgi_params 和與uwsgi 通信的本地端口
include /usr/local/nginx/conf/uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
|
將nginx 安裝目錄下的mime.types 文件copy 到項(xiàng)目根目錄下
cp /usr/local/nginx/conf/mime.types /root/DjangoBlog
6 按指定文件啟動(dòng)nginx
/usr/local/nginx/sbin/nginx -c /home/DjangoBlog/blog_nginx.conf
/usr/local/nginx/sbin/nginx -c /home/DjangoBlog/blog_nginx.conf -s reload
備注: 后續(xù)操作服務(wù)命令
執(zhí)行nginx /usr/local/nginx/sbin/nginx
重載nginx /usr/local/nginx/sbin/nginx -s reload
終止nginx /usr/local/nginx/sbin/nginx -s stop
6 安裝并配置uwsgi服務(wù)
1 安裝uwsgi
python3 -m pip install uwsgi
2 配置 uwsgi 文件
在項(xiàng)目根目錄下創(chuàng)建uwsgi.ini肛冶,并進(jìn)入添加如下內(nèi)容
[uwsgi]
socket = 127.0.1:9090 # 與nginx 配置文件的uwsgi_pass 一致
chdir=/home/DjangoBlog # 項(xiàng)目絕對(duì)路徑
module= DjangoBlog.wsgi # [wsgi.py](http://wsgi.py/)在項(xiàng)目中的相對(duì)路徑
master = true # 開(kāi)啟主進(jìn)程
processes=2 # 配置子進(jìn)程數(shù)
threads=2 # 配置線程數(shù)
max-requests=2000
chmod-socket=664
vacuum=true
# daemonize=/home/DjangoBlog/uwsgi.log# uwsgi日志的存儲(chǔ)路徑,不需要重定向輸出應(yīng)注釋掉
3 啟動(dòng)uwsgi
Uwsgj --ini 配置文件絕對(duì)路徑扯键,如:
uwsgi --ini /home/DjangoBlog/uwsgi.ini