服務(wù)器部署Flask項目(ubuntu版)

服務(wù)器環(huán)境配置

1.更新ubuntu的源

sudo apt-get update

2.安裝mysql

sudo apt-get install mysql-server mysql-client

說明:安裝完成后窗口中會提示輸入密碼,可以直接回車表示不輸入密碼,但強烈建議輸入密碼,并且在項目中配置數(shù)據(jù)庫時,密碼要和此處一致,才能夠訪問到服務(wù)器中數(shù)據(jù)庫。

3.配置mysql遠程訪問

  • 切換到目錄:/etc/mysql/mysql.conf.d/
  • 打開文件mysqld.conf
  • 注釋bind_address
cd /etc/mysql/mysql.conf.d/
vim mysqld.conf
  • 連接數(shù)據(jù)庫
mysql -u root -p
  • 進入mysql
use mysql
  • 配置外部訪問
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '數(shù)據(jù)庫密碼' WITH GRANT OPTION;
flush privileges;

flush privileges 命令本質(zhì)上的作用是將當(dāng)前user和privilige表中的用戶信息/權(quán)限設(shè)置從mysql庫(MySQL數(shù)據(jù)庫的內(nèi)置庫)中提取到內(nèi)存里。
MySQL用戶數(shù)據(jù)和權(quán)限有修改后,希望在"不重啟MySQL服務(wù)"的情況下直接生效,那么就需要執(zhí)行這個命令

  • 重啟mysql
    有時flush privileges并不一定能生效,所以手動重啟一次mysql
service mysql restart

4.創(chuàng)建項目數(shù)據(jù)庫,從本地遷移數(shù)據(jù)

(1)使用navicat創(chuàng)建服務(wù)器數(shù)據(jù)庫連接

如果安裝mysql時沒有設(shè)置密碼,此時則不填寫密碼

(2)創(chuàng)建一個新的數(shù)據(jù)庫
(3)將本地數(shù)據(jù)庫的數(shù)據(jù)遷移到服務(wù)器新建數(shù)據(jù)庫里

5. 服務(wù)器安裝nginx和uwsgi

sudo apt-get install nginx
sudo apt-get install uwsgi

檢查nginx是否安裝完成:用瀏覽器打開服務(wù)器地址看是否有頁面

nginx默認(rèn)頁面所在路徑: /var/www/html/

6.安裝pip3&安裝python的uwsgi模塊

apt install python3-pip
pip3 install uwsgi

7.配置nginx文件

vim /etc/nginx/nginx.conf
(1)創(chuàng)建目錄

通常會創(chuàng)建一個目錄存放需要配置的文件和上傳的工程等內(nèi)容。/home/app/conf src logs。

mkdir home
cd home
mkdir app
cd app
mkdir conf src logs
  • conf 存放配置文件
  • src 存放工程文件
  • logs 存放日志
(2)創(chuàng)建nginx.conf配置文件mynginx.conf

mynginx.conf是需要自己創(chuàng)建的一個nginx配置文件,此文件放在conf包中,配置內(nèi)容如下:

server {
    listen       80;
    server_name 47.92.73.20 localhost;

    access_log /home/app/logs/access.log;
    error_log /home/app/logs/error.log;

    location / {
        include uwsgi_params;
        # 端口號自行設(shè)定
        uwsgi_pass 127.0.0.1:8890;
    
        uwsgi_param UWSGI_CHDIR /home/app/src/s_aj;

        uwsgi_param UWSGI_SCRIPT manage:app; 
    }

}
  • access_log 后面的參數(shù)是access.log的路徑
  • error_log 后面的參數(shù)是error.log的路徑
  • app是manage中的Flask對象
(3)配置nginx.conf
http{
...
##
        # Virtual Host Configs

        include /etc……/conf.d/*.conf;
        include /etc……/sites-enabled/*;
        # 在此處添加自己的conf文件路徑
        include /home/app/conf/*.conf;
}

8.將項目上傳服務(wù)器

1.可以用ftp軟件(xshell/fileZilla)從本地上傳到服務(wù)器
2.也可以通過上傳git再從git clone到服務(wù)器

9.配置uwsgi.ini

uwsgi.ini是需要自己創(chuàng)建的一個配置文件,此文件存放于conf包中,配置內(nèi)容如下:

[uwsgi]
# 端口號要和自己配置的nginx.conf中的端口一致
socket=127.0.0.1:8888
pythonpath=/home/app/iHome/src/ihome_like;

callable=app;

logto=/home/app/ihome/logs/uwsgi.log;

10.啟動uwsgi.ini

啟動后即可在網(wǎng)頁上訪問flask項目

uwsgi --ini uwsgi.ini
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上周曾寫過一篇文章提到我的感冒一直斷斷續(xù)續(xù)時好時壞的情況,比較鬧心。從這周開始,在過去的二三天,我發(fā)現(xiàn)自己的注意力...
    島嶼書閱讀 495評論 2 2
  • 在那個曾經(jīng)坐滿教室的夏天,我呆呆的望著你,心里想著為什么會有你這么冷的人? 相處之后,發(fā)現(xiàn)你不是那么冷。
    丫丫雪閱讀 247評論 0 0
  • ――生活中不妨常用“焦點排序” 這幾天去醫(yī)院理療,很受觸動。 往日身處單位,看著同事無論年...
    簫音聲聲閱讀 246評論 1 1
  • 隨想之一 上午出去辦事,路過一所小學(xué),孩子們在做課間操。這學(xué)校挺有創(chuàng)意,沒做廣播體操,而是讓娃娃們在屠洪綱...
    四季聞蟬閱讀 260評論 0 0

友情鏈接更多精彩內(nèi)容