【CentOS-7.4】Flask+Vue+nginx+mysql

【CentOS7.4】Flask+Vue+nginx+mysql


【升級】

yum update
yum upgrade
yum update

安裝軟件

yum install unzip
yum install tree
yum install htop
yum install tmux

【安裝】nginx

# 添加 nginx 到 yum 源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

或者 

vi /etc/yum.repos.d/nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
# 安裝依賴

# gcc 是 linux 下的編譯器
yum install gcc gcc-c++ -y

# pcre 是一個 perl 庫,包括 perl 兼容的正則表達式庫,nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要安裝 pcre 庫。
yum install pcre pcre-devel -y

# zlib 庫提供了很多種壓縮和解壓縮方式 nginx 使用 zlib 對 http 包的內容進行 gzip
yum install zlib zlib-devel -y

# openssl 是 web 安全通信的基石,沒有 openssl,可以說我們的信息都是在裸奔
yum install openssl openssl-devel -y
# 安裝
yum install nginx

# 配置 nginx 開機啓動
systemctl enable nginx

# 啓動 nginx 服務
systemctl start nginx

# 查看 nginx 服務是否啓動成功
ps -ef | grep nginx

【配置】https 訪問


【配置】防火牆

# 查看防火牆【服務】狀態
systemctl status firewalld

# 查看防火牆【運行】狀態
firewall-cmd --state

# 開啓
service firewalld start

# 重啓
service firewalld restart

# 關閉
service firewalld stop

# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp

# 開放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp

# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

# 查看防火牆的開放的端口
firewall-cmd --permanent --list-ports

# 重啓防火牆(修改配置後要重啓防火牆)
firewall-cmd --reload

如果是阿里雲 ECS,則去【安全組】配置防火牆規則。  


【配置】SElinux

# 臨時關閉 SELinux
setenforce 0

# 臨時打開 SELinux
setenforce 1

# 查看 SELinux 狀態
getenforce

# 開機關閉 SELinux
# 編輯 /etc/selinux/config 文件,將 SELinux 的值設置爲 disabled。
vi /etc/selinux/config

# 查看防火牆規則
firewall-cmd --list-all 

【安裝】MySQL-8

官方網站

https://dev.mysql.com/downloads/repo/yum/

# 下載 MySQL-8 源
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

# 安裝 yum repo 文件並更新 yum 緩存
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

# 配置禁用 mysql5.7 的倉庫,啓用 mysql8.0 的倉庫
yum install yum-utils -y
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql80-community

# 檢查是否正確啓用了倉庫
yum repolist enabled | grep mysql

# 安裝
yum install mysql-community-server

# 啓動 MySQL 服務
systemctl start mysqld

# 查看 MySQL 密碼
grep 'temporary password' /var/log/mysqld.log

# 輸入密碼
mysql -uroot -p

# 修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'UUUUXXXX';
exit

# 配置開機啓動
systemctl enable mysqld

# 啓動 MySQL 服務
systemctl start mysqld

 


【安裝】 Node.js

下載

cd /usr/src && wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.xz

解壓

xz -d node-v12.13.1-linux-x64.tar.xz
tar -xvf node-v12.13.1-linux-x64.tar

鏈接

ln -s /usr/src/node-v12.13.1-linux-x64/bin/node /usr/bin/node
ln -s /usr/src/node-v12.13.1-linux-x64/bin/npm /usr/bin/npm

驗證

node -v
npm -v

安裝依賴

cd /var/www/UUUXXX

更換 npm 源

npm config set registry https://registry.npm.taobao.org/
npm set sass_binary_site https://npm.taobao.org/mirrors/node-sass

查看 npm 配置

npm config get

安裝

npm install --unsafe-perm

【安裝】 python3

查看當前 python 版本

python
Python 2.7.5 (default, Aug  7 2019, 00:51:29) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
# 安裝 python3
yum install python3 python3-devel
python3
Python 3.6.8 (default, Aug  7 2019, 17:28:10) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

【安裝】 pip3

yum install python3-pip

【查看】pip 版本

pip -V

【安裝】pipenv

# 方法一
pip install pipenv

# 方法二
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv



【創建項目】,且在對應的目錄下創建對於的虛擬環境

# 建立目項目錄
mkdir -p /var/www/UUUXXX

# 進入項目目錄
cd UUUXXX/

# 創建虛擬環境
pipenv install

【配置】源

vi /var/www/UUUXXX/Pipfile

# [[source]]
# name = "pypi"
# url = "https://pypi.org/simple"
# verify_ssl = true


[[source]]
name = "pypi-tsinghua"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true

在 pipenv 中虛擬機安裝【Flask】及其他【whl】

pipenv install -r requirements.txt

# 生成 requirement.txt 文件
pipenv lock -r --dev > requirements.txt
certifi==2019.3.9
chardet==3.0.4
Click==7.0
cymysql==0.9.13
Flask==1.0.2
Flask-Cors==2.1.0
Flask-JWT-Extended==3.12.1
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
idna==2.6
itsdangerous==1.1.0
Jinja2==2.10
XXXXXXXXXXXX
MarkupSafe==1.1.1
pipfile==0.0.2
PyJWT==1.7.1
requests==2.18.4
six==1.12.0
SQLAlchemy==1.2.11
toml==0.10.0
urllib3==1.22
Werkzeug==0.14.1
WTForms==2.2.1
oss2==2.6.1
pandas==0.25.2
xlrd==1.2.0
xlwt==1.3.0

配置 VUE API 

1. 將前端、後端開發的電腦連接至同一局域網內(如同一個WiFi下),將虛擬機設置的網絡連接方式改爲橋接
2. 修改前端、後端虛擬機的IP地址,保證在同一個網關下。(如前端:192.168.31.142,後端:192.168.31.143)
3. 在前端虛擬機上,修改前端程序代碼src/config/index.js中的baseURL切換爲後端服務器IP地址。(如:baseURL: 'http://192.168.31.143:5000/')
4. 在後端虛擬機上啓動後端服務(python starter,py)
5. 在前端虛擬機上啓動前端程序
6. 在局域網內使用瀏覽器訪問前端IP。(如:http://192.168.31.143:5000)
7. 點擊登錄,後端顯示請求接受日誌,前後端連接成功。
找到 VUE 目錄下 src/config/index.js

vi index.js

# 更改改成服務器IP地址,端口 5000(與flask後端一致)此虛擬機IP爲 192.168.11.139

 baseURL: 'http://192.168.11.139:5000/',

# 在 VUE 的根目錄下運行
# 生成 dist 文件夾

npm run-script build 

將文件夾放入 Nginx 目錄中(替換原目錄中的HTML文件夾)

cp -R dist /usr/share/nginx # 拷貝dist到 Nginx文件夾中
cd /usr/share/nginx #到該路徑中
rm -rf html #刪除原有的文件夾
mv dist html  #把build的文件夾dist改名爲html

到 flask 根目錄中的 starter.py 中 端口爲 5000

cd /var/www/UXmall
vi starter.py #進行編輯
app.run(host='0.0.0.0',port=5000,debug=True) #

找到 nginx 配置文件
cd /etc/nginx/conf.d

vi default.conf #進行編輯
    #server 的參數
    listen       80; #參數可改爲80
    server_name  localhost; #參數爲localhost

    #location 的參數
     root   /usr/share/nginx/html; #nginx 代理的路徑
     index  index.html index.htm;  #nginx 代理的頁面
啓動 nginx


在 flask 根目錄下,進入虛擬環境

pipenv shell

運行starter.py

python3 starter.py

 

# 初始化

# 	安裝虛擬機環境
		pip install -r requirements.txt

#	啓動
		pipenv shell

#	退出
		exit

#	執行
		python3 starter.py


# 快捷執行
cd /var/www/UUUXXX && pipenv shell && python3 starter.py

測試

# 訪問網頁
curl http://127.0.0.1:5000/

成功


【遷移項目】

上傳項目壓縮包至服務器目錄

/var/www/UUUXXX

解壓

unzip UUUXXX.zip

配置

發佈了16 篇原創文章 · 獲贊 4 · 訪問量 3972
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章