成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

django+uwsgi+nginx部署web項目

Ali_ / 2412人閱讀

摘要:腳本啟動服務(wù)器方便起見,我們可以設(shè)置腳本啟動重啟服務(wù)器,在目錄下新建腳本,命名為,內(nèi)容如下修改文件權(quán)限腳本啟動配置完成,如果發(fā)布新版本之后記得執(zhí)行該腳本才能生效。

系統(tǒng)需求
    
centos7 minimal
python2.7

部署前的準(zhǔn)備工作
centos7 minimal是精簡版本,需要手動去配置一些設(shè)置。
1. 配置網(wǎng)絡(luò),設(shè)置固定ip
    ip可以自動獲取,我這里設(shè)置成固定ip
    
2. 更新yum源
    [root@localhost /]# cd?
    [root@localhost ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    [root@localhost ~]# rpm -ivh epel-release-latest-7.noarch.rpm
    檢查是否添加到源列表:
    [root@localhost ~]# yum repolist

3. 安裝vim
    [root@localhost ~]# yum install vim
   
4. 設(shè)置防火墻開啟80,3306等需要的端口
    高版本的centos系統(tǒng)防火墻默認是firewall,通過命令可以永久開放端口
    [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
5. kill命令的擴展
    [root@localhost ~]# yum install psmisc
    
    
需要安裝的軟件
1. mariadb或者mysql,這里選擇mariadb
    [root@localhost /]#?yum install mariadb mariadb-server
    [root@localhost /]#?yum install mysql-devel
    
2. nginx
    安裝依賴包:
    [root@localhost /]#  yum install gcc-c++

    安裝nginx:
    [root@localhost /]#? yum install nginx
    
3. python的一些組件
    安裝pip:
    [root@localhost /]#? yum install python-pip
    更新pip:
    [root@localhost /]#? pip install --upgrade pip
    安裝虛擬環(huán)境:
    [root@localhost /]#? pip install virtualenv
    安裝uwsgi:
    [root@localhost /]#??yum install python-devel
    [root@localhost /]#??pip install uwsgi
    安裝mysql鏈接工具:
    [root@localhost /]#??pip install MySQL-python

4. 安裝git
    [root@localhost /]#? yum install git
    
    
開始部署項目django+uwsgi+nginx
1. 創(chuàng)建項目目錄
    [root@localhost /]#? mkdir /www/
    
2. 從遠程倉庫git
    [root@localhost /]#??cd /www/
    [root@localhost www]# git clone https://example.git
    
3. 配置數(shù)據(jù)庫
    [root@localhost www]# systemclt start mariadb
    [root@localhost www]#?mysql_secure_installation
    
    登錄mysql
    [root@localhost www] mysql -uroot -p
    創(chuàng)建數(shù)據(jù)庫
    MariaDB [(none)]> create database db_name default character set utf8;
    
4. 創(chuàng)建虛擬環(huán)境并激活
    [root@localhost /]#??cd /www/
    [root@localhost www]#??virtualenv env --system-site-packages (這里虛擬環(huán)境要繼承全局)
    [root@localhost www]#? source env/bin/activate

5. 配置django環(huán)境
    在虛擬環(huán)境下,安裝所需的packages, 然后配置數(shù)據(jù)庫等開發(fā)需要的內(nèi)容。
    
6. 配置uwsgi
    在manage.py文件同級目錄下新建文件django_socket.ini為uwsgi配置文件。內(nèi)容如下:
    [uwsgi]
    chdir = /www/site/  # 項目根目錄路徑
    wsgi-file = /www/site/site/wsgi.py  # wsgi文件路徑
    master = true
    vhost = true
    pythonpath = /www/env/lib/python2.7/site-packages  # 虛擬環(huán)境路徑
    socket = 127.0.0.1:8077
    processes = 4
    threads = 2
    log-maxsize = 500000
    buffer-size = 32768
    daemonize = /www/logs/uwsgi.log  # log文件路徑
    
7. 配置nginx
    在/etc/nginx/conf.d/目錄下新建nginx配置文件,site.conf(必須是.conf的后綴名),配置文件內(nèi)容如下:
    server {
        listen 80;
        server_name 192.168.1.20;  # 域名或者ip地址
        root /www/site;

        location / {
                uwsgi_pass 127.0.0.1:8077;
                include uwsgi_params;
                uwsgi_param REMOTE_ADDR $HTTP_X_REAL_IP;
        }

        location = /50x.html {
                root html;
        }

        location /static/ {
                root /www/site;  # 靜態(tài)資源路徑
        }

        location /uploads/ {
                root /www/site;
        }
    }
    
    以上配置基本完成了,接下來運行如下命令:
        [root@localhost site]#  uwsgi --ini django_socket.ini
        [root@localhost site]#  nginx -c /etc/nginx/nginx.conf
        [root@localhost site]#  nginx -s reload
        如果沒有報錯,就說明配置成功,在瀏覽器輸入ip地址或者域名就能訪問了。
        
8. 腳本啟動服務(wù)器
    方便起見,我們可以設(shè)置腳本啟動重啟服務(wù)器,在/www/目錄下新建shell腳本, 命名為update.sh, 內(nèi)容如下:
    #!/bin/bash
            
    nginx_process=`ps aux|grep nginx|grep worker`
    if [ "$nginx_process" != "" ]; then
        killall -9 nginx
    fi
    
    uwsgi_process=`ps aux|grep uwsgi|grep django_socket`
    if [ "$uwsgi_process" != "" ]; then
        killall -9 uwsgi
    fi
    
    cd /www/site
    #/usr/bin/python manage.py collectstatic 
    /usr/bin/uwsgi --ini django_socket.ini
    
    /usr/sbin/nginx -c /etc/nginx/nginx.conf
    /usr/sbin/nginx -s reload
    
    修改文件權(quán)限:
        [root@localhost www]# chmod 755 update.sh
        
    腳本啟動配置完成,如果發(fā)布新版本之后記得執(zhí)行該腳本才能生效。(如果報錯為:nginx502那就再執(zhí)行一次 - -)
    
    
9. 自動化配置
    配置mysql開機啟動:
        [root@localhost www]#? systemclt enable mariadb

    配置uwsgi+nginx開機啟動:
        由于已經(jīng)設(shè)置通過腳本啟動uwsgi和nginx,所以只需要將/www/update.sh這個腳本設(shè)置為開機啟動就OK啦。配置如下:
        
        打開/etc/rc.local,在最后一行添加:
            sh /www/update.sh
            
        保存關(guān)閉。重啟服務(wù)器之后有可能腳本沒有被自動執(zhí)行,原因是/etc/rc.local是/etc/rc.d/rc.local的鏈接文件,因此,需要修改/etc/rc.d/rc.local的權(quán)限:
            [root@localhost root]# chmod 755 /etc/rc.d/rc.local
            
            

至此,整個部署就完成了。如有需要改進的地方,還請各位指出,互相學(xué)習(xí)交流。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40922.html

相關(guān)文章

  • uwsgi+nginx項目部署

    摘要:部署項目部署一個的開源框架。輪詢負載均衡在配置文件中添加如下配置,此配置有三臺服務(wù)器提供支付服務(wù)。缺省配置就是輪詢策略負載均衡支持和協(xié)議,只需要修改后面的協(xié)議即可支持的負載均衡只需將改為即可。 部署Django項目 Django+uWSGI+nginx 部署 django 一個pyhton的開源web框架。 uWSGI 一個基于自有的uwsgi協(xié)議、WSGI協(xié)議和http服務(wù)協(xié)議的w...

    betacat 評論0 收藏0
  • 親身驗證切實可行的python項目部署方案

    摘要:目標(biāo)在瀏覽器輸入回車進入到項目主頁概念項目應(yīng)用該文章中的項目為服務(wù)高并發(fā)處理的好穩(wěn)定是服務(wù)器與框架之間一種簡單而通用的接口項目部署部署環(huán)境準(zhǔn)備確保項目能夠運行安裝服務(wù)用去安裝安裝啟動驗證打開瀏覽器輸入安裝務(wù)必用去安裝安裝驗證 目標(biāo) : 在瀏覽器輸入 www.python1.com 回車 進入到Django項目主頁 概念 Django項目(Web應(yīng)用)該文章中的django項...

    siberiawolf 評論0 收藏0
  • 親身驗證切實可行的python項目部署方案

    摘要:目標(biāo)在瀏覽器輸入回車進入到項目主頁概念項目應(yīng)用該文章中的項目為服務(wù)高并發(fā)處理的好穩(wěn)定是服務(wù)器與框架之間一種簡單而通用的接口項目部署部署環(huán)境準(zhǔn)備確保項目能夠運行安裝服務(wù)用去安裝安裝啟動驗證打開瀏覽器輸入安裝務(wù)必用去安裝安裝驗證 目標(biāo) : 在瀏覽器輸入 www.python1.com 回車 進入到Django項目主頁 概念 Django項目(Web應(yīng)用)該文章中的django項...

    dackel 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<