zoukankan      html  css  js  c++  java
  • Ubuntu Nginx uwsgi django 初试

    /**************************************************************************************
     *                         Ubuntu Nginx uwsgi django 初试
     * 说明:
     *     最近打算通过Python搭建一个数据收集的网站,先做一个搭建测试。
     *                 
     *                                                  2016-8-5 深圳 南山平山村 曾剑锋
     *************************************************************************************/
    
    
    一、参考文章:
        1. Ubuntu下搭建Nginx+Uwsgi+Python+Mysql开发环境
            http://blog.csdn.net/hchuchuan/article/details/49718521
        2. 基于nginx和uWSGI在Ubuntu上部署Django
            http://www.jianshu.com/p/e6ff4a28ab5a
        3. Install uwsgi 1.2.5 via pip
            http://askubuntu.com/questions/182313/install-uwsgi-1-2-5-via-pip
        4. How To Install the Django Web Framework on Ubuntu 14.04
            https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-14-04
        5. Nginx+uWSGI 入门
            http://my.oschina.net/u/877567/blog/201577
    
    二、Django目录结构:
        zengjf@zengjf:~/website$ pwd
        /home/zengjf/website
        zengjf@zengjf:~/website$ tree
        .
        └── mysite
            ├── manage.py
            └── mysite
                ├── __init__.py
                ├── __init__.pyc
                ├── settings.py
                ├── settings.pyc
                ├── urls.py
                ├── urls.pyc
                └── wsgi.py
    
        2 directories, 8 files
        zengjf@zengjf:~/website$
    
    三、nginx配置:
        root@zengjf:/etc/nginx/sites-available# pwd
        /etc/nginx/sites-available
        root@zengjf:/etc/nginx/sites-available# cat default
        # You may add here your
        # server {
        #   ...
        # }
        # statements for each of your virtual hosts to this file
        
        ##
        # You should look at the following URL's in order to grasp a solid understanding
        # of Nginx configuration files in order to fully unleash the power of Nginx.
        # http://wiki.nginx.org/Pitfalls
        # http://wiki.nginx.org/QuickStart
        # http://wiki.nginx.org/Configuration
        #
        # Generally, you will want to move this file somewhere, and start with a clean
        # file but keep this around for reference. Or just disable in sites-enabled.
        #
        # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
        ##
        
        server {
            listen 8000 default_server;
            listen [::]:8000 default_server ipv6only=on;
        
            root /home/zengjf/website/mysite;
            index index.html index.htm;
        
            # Make site accessible from http://localhost/
            server_name localhost;
        
            location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
                include  uwsgi_params;
                uwsgi_pass  127.0.0.1:9091;              #必须和uwsgi中的设置一致
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
            }
        
            # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
            #location /RequestDenied {
            #   proxy_pass http://127.0.0.1:8080;    
            #}
        
            #error_page 404 /404.html;
        
            # redirect server error pages to the static page /50x.html
            #
            #error_page 500 502 503 504 /50x.html;
            #location = /50x.html {
            #   root /usr/share/nginx/html;
            #}
        
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #   fastcgi_split_path_info ^(.+.php)(/.+)$;
            #   # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
            #
            #   # With php5-cgi alone:
            #   fastcgi_pass 127.0.0.1:9000;
            #   # With php5-fpm:
            #   fastcgi_pass unix:/var/run/php5-fpm.sock;
            #   fastcgi_index index.php;
            #   include fastcgi_params;
            #}
        
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #   deny all;
            #}
        }
        
        
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #   listen 8000;
        #   listen somename:8080;
        #   server_name somename alias another.alias;
        #   root html;
        #   index index.html index.htm;
        #
        #   location / {
        #       try_files $uri $uri/ =404;
        #   }
        #}
        
        
        # HTTPS server
        #
        #server {
        #   listen 443;
        #   server_name localhost;
        #
        #   root html;
        #   index index.html index.htm;
        #
        #   ssl on;
        #   ssl_certificate cert.pem;
        #   ssl_certificate_key cert.key;
        #
        #   ssl_session_timeout 5m;
        #
        #   ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        #   ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
        #   ssl_prefer_server_ciphers on;
        #
        #   location / {
        #       try_files $uri $uri/ =404;
        #   }
        #}
        root@zengjf:/etc/nginx/sites-available# 
    
    四、运行uwsgi命令:
        root@zengjf:/home/zengjf/website# uwsgi --socket 127.0.0.1:9091 --chdir /home/zengjf/website/mysite --wsgi-file mysite/wsgi.py --master --processes 2 --threads 2
        *** Starting uWSGI 2.0.13.1 (64bit) on [Fri Aug  5 21:47:55 2016] ***
        compiled with version: 4.8.4 on 04 August 2016 21:12:52
        os: Linux-3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015
        nodename: zengjf
        machine: x86_64
        clock source: unix
        pcre jit disabled
        detected number of CPU cores: 2
        current working directory: /home/zengjf/website
        detected binary path: /usr/local/bin/uwsgi
        uWSGI running as root, you can use --uid/--gid/--chroot options
        *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
        chdir() to /home/zengjf/website/mysite
        your processes number limit is 15313
        your memory page size is 4096 bytes
        detected max file descriptor number: 1024
        lock engine: pthread robust mutexes
        thunder lock: disabled (you can enable it with --thunder-lock)
        uwsgi socket 0 bound to TCP address 127.0.0.1:9091 fd 3
        Python version: 2.7.6 (default, Jun 22 2015, 18:01:27)  [GCC 4.8.2]
        Python main interpreter initialized at 0x24ae640
        python threads support enabled
        your server socket listen backlog is limited to 100 connections
        your mercy for graceful operations on workers is 60 seconds
        mapped 249168 bytes (243 KB) for 4 cores
        *** Operational MODE: preforking+threaded ***
        WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x24ae640 pid: 4120 (default app)
        *** uWSGI is running in multiple interpreter mode ***
        spawned uWSGI master process (pid: 4120)
        spawned uWSGI worker 1 (pid: 4121, cores: 2)
        spawned uWSGI worker 2 (pid: 4122, cores: 2)
        

     

  • 相关阅读:
    BZOJ 2400: Spoj 839 Optimal Marks (按位最小割)
    bzoj4873: [Shoi2017]寿司餐厅(最大权闭合子图)
    bzoj1497: [NOI2006]最大获利(最大权闭合子图)
    bzoj1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
    bzoj1024: [SCOI2009]生日快乐
    bzoj2761: [JLOI2011]不重复数字
    bzoj1257: [CQOI2007]余数之和sum
    bzoj2456: mode
    bzoj1831: [AHOI2008]逆序对(DP+双精bzoj1786)
    bzoj2431: [HAOI2009]逆序对数列
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5742875.html
Copyright © 2011-2022 走看看