溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程

發(fā)布時(shí)間:2020-09-09 07:39:34 來源:腳本之家 閱讀:281 作者:羅小輝 欄目:開發(fā)技術(shù)

(PS:本文假設(shè)你已經(jīng)在本地聯(lián)調(diào)好django和客戶端,只是需要將django部署到外網(wǎng))

購買阿里云服務(wù)器

到[阿里云官網(wǎng)],選擇輕量應(yīng)用服務(wù)器, 步驟如圖所示:

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程

地域隨便選擇哪一個(gè),鏡像的話,對(duì)比了CentOS,Debian,Ubuntu,我最終選擇了CentOS,因?yàn)榱餍新铩渲玫脑?,看?xiàng)目本身了,我這里選擇的是1G內(nèi)存,20G硬盤最小配置,也夠用了。

配置python環(huán)境

進(jìn)入服務(wù)器

選擇好服務(wù)器并付費(fèi)之后,點(diǎn)擊阿里云的控制臺(tái)-云計(jì)算基礎(chǔ)服務(wù)-輕量應(yīng)用服務(wù)器:

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程 

點(diǎn)擊CentOS服務(wù)器,進(jìn)入后,點(diǎn)擊右上角的遠(yuǎn)程連接,如圖所示:

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程

安裝python3并與python2共存

CentOS 7.3 默認(rèn)安裝了python2.7.5 因?yàn)橐恍┟钜盟热鐈um 它使用的是python2.7.5。當(dāng)我們?cè)诿钚欣镙斎?/p>

python -V

就可以看到版本為2.7.5。

安裝python3

因?yàn)槲覀円惭bpython3版本,所以python要指向python3才行,目前還沒有安裝python3,先備份,備份之前先安裝相關(guān)包,用于下載編譯python3

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

這幾個(gè)包必須得安裝,否則安裝python3時(shí)可能會(huì)出現(xiàn)各種錯(cuò)誤.
運(yùn)行下面兩個(gè)命令,進(jìn)行備份

cd /usr/bin
mv python python.bak

安裝

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

解壓

tar -xvJf Python-3.6.3.tar.xz

切換進(jìn)入

cd Python-3.6.3

編譯安裝

./configure prefix=/usr/local/python3
make && make install

安裝完畢,/usr/local/目錄下就會(huì)有python3了

實(shí)現(xiàn)python3和python2的共存

添加python3的軟鏈

rm /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python

這時(shí)候在執(zhí)行命令python -v和python2 -V,應(yīng)該就能看到python3和python2的版本了。
因?yàn)閳?zhí)行yum需要python2版本,所以我們還要修改yum的配置,執(zhí)行:

vi /usr/bin/yum

把#! /usr/bin/python修改為#! /usr/bin/python2

詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程

同理

vi /usr/libexec/urlgrabber-ext-down 

文件里面的#! /usr/bin/python 也要修改為#! /usr/bin/python2

安裝django項(xiàng)目中需要的python相關(guān)包

安裝python相關(guān)包需要用到python中的pip命令,比如我項(xiàng)目中需要的包有:

pip install Django
pip install PyMySQL
pip install Scrapy
pip install beautifulsoup4
pip install bs4
pip install lxml
pip install numpy
pip install requests
pip install simplejson
pip install urllib3

注意:在執(zhí)行命令pip install mysqlclient時(shí)會(huì)報(bào)錯(cuò),這里需要特別強(qiáng)調(diào)下,不然在后面運(yùn)行需要連mysql的django項(xiàng)目時(shí),會(huì)報(bào)do you install mysqlclient?

解決方法如下:

sudo python -m pip install mysqlclient

此時(shí)python所有需要的包,都已經(jīng)安裝好

安裝mysql

下載mysql源安裝包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安裝mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum install mysql-devel

安裝MySQL

yum install mysql-community-server

啟動(dòng)MySQL服務(wù)

systemctl start mysqld

查看MySQL的啟動(dòng)狀態(tài)

systemctl status mysqld

開機(jī)啟動(dòng)

systemctl enable mysqld

修改root本地登錄密碼

grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
set password for 'root'@'localhost'=password('!2Qw32sd'); 

注意:mysql5.7默認(rèn)安裝了密碼安全檢查插件(validate_password),默認(rèn)密碼檢查策略要求密碼必須包含:大小寫字母、數(shù)字和特殊符號(hào),并且長度不能少于8位。否則會(huì)提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯(cuò)誤

配置默認(rèn)編碼為utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

導(dǎo)入django和mysql數(shù)據(jù)庫

導(dǎo)入django項(xiàng)目

由于我項(xiàng)目放在碼云上面,然后CentOS又自帶git,我的數(shù)據(jù)庫文件也比較小,所以也放在django項(xiàng)目中了,用git下載下來:

sudo su root
mkdir project
cd project
git clone https://gitee.com/dafeige/django-restframework-demo.git

此時(shí),我的數(shù)據(jù)庫文件路徑是:project/django-restframework-demo/tutorial/test_python.sql,由于需要將此sql文件導(dǎo)入到mysql數(shù)據(jù)中,需要給此文件加權(quán)限:

chmod 777 project/django-restframework-demo/tutorial/test_python.sql

導(dǎo)入sql數(shù)據(jù)庫文件

進(jìn)入數(shù)據(jù)庫

mysql -u root -p

導(dǎo)入sql文件

create database test_python;
use test_python;
source project/django-restframework-demo/tutorial/test_python.sql;

部署django工程

進(jìn)入到工程中

sudo su root
cd project/django-restframework-demo/tutorial
python manage.py runserver 0.0.0.0:80 &

最后面的”&”,這符號(hào)表示在后臺(tái)運(yùn)行該進(jìn)程。這里的IP地址如果用公網(wǎng)IP
會(huì)運(yùn)行不了,而用0.0.0.0則外網(wǎng)和127.0.0.1都能夠訪問。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI