• CentOS安装python3.5.0+uwsgi+nginx


    1安装编译工具

    yum install zlib-devel bzip2-devel openssl-devel python-devel kernel-devel libffi-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

    2官网下载安装

    wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz
    tar -xvJf Python-3.5.0.tar.xz  #注意解压方式和.tar.gz结尾的区别
    cd Python-3.5.0
    ./configure prefix=/usr/local/python3
    make && make install
    ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3

    3安装pip3(python3以上都自带pip和setuptools)
    1.首先安装setuptools
      小伙伴们可以通过官方模块库来下载:https://pypi.python.org/pypi
      这里我就直接用wget到服务器上下载了版本为19.6

    wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
    tar -zxvf setuptools-19.6.tar.gz
    cd setuptools-19.6
    /usr/local/python3/bin/python3 setup.py build
    /usr/local/python3/bin/python3 setup.py install


    2.然后直接安装pip就搞定了。。
      同样先下载然后在执行命令搞定!!

    wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
    tar -zxvf pip-8.0.2.tar.gz
    cd pip-8.0.2
    /usr/local/python3/bin/python3 setup.py build
    /usr/local/python3/bin/python3 setup.py install
    ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

    3用pip安装模块

    /usr/local/python3/bin/pip3 install Django==2.1.1

    4用pip安装uwsgi

    /usr/local/python3/bin/pip3 install uwsgi
    ln -s /usr/local/python3/bin/uwsgi /usr/local/bin/uwsgi
    测试文件test.py
    def app(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return [b"Hello World"] 
    
    运行
    uwsgi --http :8000 --wsgi-file test.py
    
    用uwsgi 启动django
    uwsgi --http :8000 --module projectName.wsgi

    可以把参数写到配置文件里面uwsgi.ini

    [uwsgi]
    #生产环境不需要此项
    http = :9000
    # 取决于nginx配置 upstream
    socket          = 127.0.0.1:9090
    socket          = 127.0.0.1:9091
    # 项目根目录
    chdir           = /home/user/projectName# Django的wsgi文件
    module       = projectName.wsgi
    # Python虚拟环境的路径
    #home            = /home/user/.virtualenvs/envname/bin/python
    # 进程相关的设置
    # 主进程
    master          = true
    # 最大数量的工作进程
    processes       = 4
    #每个进程开启的线程数
    threads = 2
    # 设置socket的权限
    chmod-socket    = 666
    # 退出的时候是否清理环境
    vacuum          = true
    #用户和组,没有权限是改为root试试,nginx.conf的user配置也改为root
    uid = nginx
    gid = nginx
    stats = 127.0.0.1:9191
    # 静态文件 绝对地址
    static-map = /static=/home/user/projectName/static

     启动uwsgi

    uwsgi --ini uwsgi.ini
    以www用户启动
    uwsgi --uid www --gid www uwsgi.ini

    停止uwsgi

    uwsgi --stop uwsgi.pid
    或者
    killall -9 uwsgi

    重启uwsgi

    uwsgi --reload uwsgi.ini

     5安装nginx
      安装略过........
      配置支持uwsgi的nginx.conf文件

    upstream django {
        server 127.0.0.1:9090; 
    }
    server {
        listen 80;
        server_name localhost;
        charset     utf-8;
        access_log      /var/log/nginx/nginx_access.log main;
        error_log       /var/log/nginx/nginx_error.log;
        client_max_body_size 75M;
    
    
        location /static {
            alias /djproject/mysite/static;  #指定django的静态文件
            }
    
        location / {
            include     /etc/nginx/uwsgi_params;  #加载uwsgi模块
            uwsgi_pass  127.0.0.1:9090;   #所有请求转到9090端口交给uwsgi处理
            }
    #    location / {
    #        uwsgi_pass  django;
    #        include     /path/to/your/mysite/uwsgi_params; 
    #        }
        }

    django静态文件加载

    在settings.py设置此项
    STATIC_ROOT = os.path.join(BASE_DIR, "static/")
    收集静态文件操作
    python3 manage.py collectstatic
  • 相关阅读:
    Chef学习之一:Windows上安装Chef Workstation
    AWS之S3实践
    Ubuntu下解决Make的:cc1plus: warnings being treated as errors
    PLSQL中over(partition by .. order by ..)的使用
    GACutil.exe的使用
    在ASP中如何调用EXE可执行文件在客户端运行
    css中空格和“.”的区别
    神奇的Service无法onCreate的问题
    android 找不到模拟器错误
    Openfire 添加GateWay
  • 原文地址:https://www.cnblogs.com/linyouyi/p/9788846.html
Copyright © 2020-2023  润新知