zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    mysql数据库常用指令
    解决windows的mysql无法启动 服务没有报告任何错误的经验。
    “Can't open file for writing”或“operation not permitted”的解决办法
    启动Apache出现错误Port 80 in use by "Unable to open process" with PID 4!
    如何打开windows的服务services.msc
    常见的HTTP状态码 404 500 301 200
    linux系统常用的重启、关机指令
    (wifi)wifi移植之命令行调试driver和supplicant
    linux(debian)安装USB无线网卡(tp-link TL-WN725N rtl8188eu )
    alloc_chrdev_region申请一个动态主设备号,并申请一系列次设备号
  • 原文地址:https://www.cnblogs.com/linyouyi/p/9788846.html
Copyright © 2011-2022 走看看