部署django項目的環境以及mondoDB數據的導入

一、安裝uwsgi:html

     1) yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-develpython

     2) pip3 install uwsgilinux

     3) ln -s /usr/python/bin/uwsgi /usr/bin/uwsgi(任何地方均可以使用uwsgi命令)nginx

      uwsgi --version : 查看版本命令web

測試1:sql

# test.py     def application(env, start_response):      start_response('200 OK', [('Content-Type','text/html')])return ["Hello World"] # python2  #return [b"Hello World"] # python3mongodb

uwsgi --http :7070 --wsgi-file test.pyshell

瀏覽器訪問 :http://ip:7070   出現Hello World表示uwsgi安裝成功!!!數據庫

    注:uwsgi --http :端口 --chdir=項目路徑 --module 項目名.wsgidjango

 

測試2:

例uwsgi --http :7070 --chdir=/usr/python/movieMongo/ --module moeMongo.wsgi

這樣啓動項目,瀏覽器訪問也是能夠的,可是shell不能關閉,一關閉項目就中止運行,瀏覽器不能訪問啦!(端口7070必須是開通安全配置)

測試3:能夠把啓動信息寫進xxx.ini文件中,用uwsgi xxx.ini啓動,照樣能夠在瀏覽器中訪問!

xxx.ini文件內容:

[uwsgi]  http=:9090  wsgi-file=server.py  master=true  processes=4  threads=2  stats=127.0.0.1:9191

 

二、安裝nginx:

     1) 下載 nginx:

             wget http://nginx.org/download/nginx-1.13.7.tar.gz

              tar -xvf nginx-1.13.7.tar.g

     2)進入到nginx-1.13.7目錄中,編譯程序

             ./configure    (這樣是默認安裝,安裝在/usr/local/nginx;配置文件是/usr/local/nginx/conf/nginx.conf,啓動項是/usr/local/nginx/sbin/nginx)

             make

             make install

 

三、uwsgi與nginx混合使用:

 配置xxx.ini和nginx.conf文件:

      1) xxx.ini文件內容:

              [uwsgi]

              # 內部連接的,與nginx.conf中的uwsgi_pass 127.0.0.1:7071同樣(7071端口能夠不添加)

      socket=127.0.0.1:7071

      #http=:7070     # 不須要nginx ,單獨運行,而後瀏覽器訪問

    wsgi-file=app.py

    master=true

    processes=4

    threads=2

    buffer-size = 65536

    daemonize = appuwsgi.log # 日誌信息在appuwsgi.log中,就不會打印啦,關鍵是能夠關閉xshell

    #stats=127.0.0.1:9191

 

   2)nginx.conf文件內容:

    server {

            listen 7070;        # 這個端口是提供給外面訪問的,必須添加

            #server_name 127.0.0.1;              

            #fastcgi_buffers 8 128k;

            #charset utf-8;

            location / {

                    include uwsgi_params;

                    uwsgi_pass 127.0.0.1:7071;   #與xxx.ini中的socket必須保持一致(7071端口能夠不添加)

            }  

            location /static/ {

                        alias /home/www/myproject/myapp/static/; #項目靜態路徑設置

            }

       }

          3)而後啓動nginx和運行xxx.ini: 

      啓動nginx:  ./nginx          

       (  重啓:./nginx -s reload   驗證conf文件是否正確:./nginx -t  )

      運行xxx.ini: uwsgi xxx.ini

         4)nginx和uwsgi線程:

           nginx線程:

 

 

 

 

 

 

 

      uwsgi線程:

 

四、uwsgi+nginx+django項目:

      1) nginx.conf 文件內容:

    server {

            listen 7070;

            #server_name 127.0.0.1;

            #fastcgi_buffers 8 128k;

            #charset utf-8;

            location / {

                include uwsgi_params;

                uwsgi_pass 127.0.0.1:7073;

            }

            location /static/ {

                alias /home/www/myproject/myapp/static/; #項目靜態路徑設置

            }

       }

  2)xxx.ini文件內容:

    [uwsgi]

      socket=127.0.0.1:7073

      chdir=/usr/python/movieMongo  # 項目路徑

      # 項目的wsgi文件

      module=movieMongo.wsgi

      # 作測試用的,http網頁訪問

      #http=:7070

      #wsgi-file=app.py

      master=true

      # 線程數

      processes=4

      # 進程數

      threads=2

      buffer-size = 65536

      #運行程序uwsgi appUwsgi.ini,沒有日誌,而且能夠關閉xshell

      daemonize =appUwsgi.log

       3)運行nginx和uwsgi:

      (1) 進入/usr/local/nginx/sbin目錄 ,運行 ./nginx

 

      (2) 運行xxx.ini文件,運行 uwsgi xxx.ini

 

 

        4) 瀏覽器訪問: http://47.107.57.99:7070/get_movieTop250/?start=0&count=250

 

五、mongodb導出數據:

 

linux中txt文件導入數據庫中,內容是一個個json;每一個json之間沒有逗號',',若是有逗號',',導入數據庫會出錯!!!

導入語句:mongoimport -h 地址 -d 數據庫 -c 集合 文件

例如:mongoimport -h 127.0.0.1 -d movie -c top movies.txt

 

 

六、nginx、uwsgi與web應用框架的介紹:

 

相關文章
相關標籤/搜索