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应用框架的介绍:

     

  • 相关阅读:
    【转】浅析Linux中的零拷贝技术
    我们使用 Kafka 生产者在发消息的时候我们关注什么(Python 客户端 1.01 broker)
    【转】Python 访问 HDFS
    HIVE 乱码以及 HUE SQL 语句兼容性的记录(遇到应该会一直更新)
    Kafka 深入核心参数配置
    【转】Hive 修改 table、column
    Redash(开源轻量级商业智能) 生产环境部署及实践 (without docker)
    【转】Linux开机启动管理---systemd使用
    Pyspark 最近使用的一些有趣姿势的梳理
    使用jquery操作select(获取选中option的值等)
  • 原文地址:https://www.cnblogs.com/fangsheng/p/10305181.html
Copyright © 2011-2022 走看看