zoukankan      html  css  js  c++  java
  • 部署django项目的环境以及mondoDB数据的导入

    1、安装uwsgi:

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

         2) pip3 install uwsgi

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

          uwsgi --version : 查看版本命令

    测试1:

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

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

    浏览器访问 :http://ip:7070   出现Hello World表示uwsgi安装成功!!!

        注:uwsgi --http :端口 --chdir=项目路径 --module 项目名.wsgi

    测试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

    2、安装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

    3、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线程:

    4、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

    5、mongodb导出数据:

     

    linux中txt文件导入数据库中,内容是一个个json;每个json之间没有逗号',',如果有逗号',',导入数据库会出错!!!

    导入语句:mongoimport -h 地址 -d 数据库 -c 集合 文件

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

    6、nginx、uwsgi与web应用框架的介绍:

     

  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/fangsheng/p/10305181.html
Copyright © 2011-2022 走看看