CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 開發環境
Python環境搭建
Python2 3共存
python -V 查看Python版本
安裝Python3
下載安裝相關包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
備份
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
切換進入
cd Python-3.6.3
編譯安裝
./configure prefix=/usr/local/python3
make && make install
Python 2 3共存
添加Python3軟鏈
rm /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
升級pip3到最新版本
pip3 install –upgrade pip
這時候在執行命令python -v和python2 -V,應該就能看到python3和python2的版本了。
因為執行yum需要python2版本,所以我們還要修改yum的配置,執行:
vi /usr/bin/yum
把#! /usr/bin/python修改為#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
文件里面的#! /usr/bin/python 也要修改為#! /usr/bin/python2
MySQL環境搭建
下載MySQL源安裝包, 還是用57吧
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
進入MySQL目錄
cd /usr/bin
啟動MySQL
systemctl start mysqld
查看MySQL狀態
systemctl status mysqld
設置MySQL開機啟動
systemctl enable mysqld
修改root本地登錄密碼(密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位)
grep ‘temporary password’ /var/log/mysqld.log
mysql -uroot -p
set password for ‘root’@’localhost’=password(‘!2Qw32sd’);
uwsgi安裝配置
uwsgi 安裝
使用pip3安裝
pip3 install uwsgi
創建uwsgi軟鏈接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
測試uwsgi是否可用
- 建立測試腳本test.py
- 運行腳本
uwsgi –http :8000 –wsgi-file test.py
瀏覽器輸入IP:端口: 如果可以看到 ‘hello uwsgi’, 配置完成
uwsgi 設置
進入項目目錄
cd /var/www/myproject
創建編輯 uwsgi 配置文件(文件名自起)
vim uwsgiset.xml
內容如下
在項目目錄( /var/www/myproject )下啟動:
uwsgi3 -x uwsgiset.xml
提醒 [uWSGI] parsing config file myproject.xml 則啟用成功
注意僅僅是啟用成功
Nginx安裝配置
Ngxin安裝
直接下載.tar.gz安裝包,地址:https://nginx.org/en/download.html
推薦選擇穩定版下載 : 當前版本 1.12.2
解壓
tar -zxvf nginx-1.12.2.tar.gz
編譯前初始化配置
cd nginx-1.12.2 # 進入nginx目錄
./configure # 使用默認配置
編譯安裝
make
make install
查找安裝路徑
[root@Ryoma nginx-1.12.2]#whereis nginx
nginx: /usr/local/nginx
啟動、停止 nginx
cd /usr/local/nginx/sbin/ # 進入 nginx sbin 目錄
./nginx # 啟動 nginx
./nginx -s quit # 此方式停止步驟是待 nginx 進程處理任務完畢進行停止
./nginx -s stop # 此方式相當於先查出 nginx 進程id再使用kill命令強制殺掉進程
./nginx -s reload # 重新加載
查詢 nginx 進程:
ps aux|grep nginx
配置Nginx文件
cd /usr/local/nginx/conf/
vim nginx.conf
保存nginx.conf執行
nginx -t 命令檢查配置文件是否有錯
./nginx -s reload 重啟Nginx