Nginx+Python+uwsgi+D

发布时间:2019-07-24 09:53:46编辑:auto阅读(1352)

    1,系统环境
    CentOS 6.x 或者更高版本
    Python 3.6.x

    2,Python3环境的安装
    首先安装依赖包
    yum -y groupinstall “Development tools”
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    下载python3的压缩包到/opt/目录下
    cd /opt/
    wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
    然后解压压缩包安装Python3
    tar -xJf Python-3.5.2.tar.xz
    cd Python-3.5.2
    ./configure –prefix=/usr/local/python3
    make && make install
    最后创建软链接
    ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
    在命令行中输入python3测试
    Nginx+Python+uwsgi+Django环境搭建
    升级pip3命令
    pip3 install --upgrade pip

    3,Python环境
    Nginx+Python+uwsgi+Django环境搭建

    4,创建Python虚拟环境部署项目

    创建虚拟环境
    virtualenv --no-site-package -p python3 /data/website/myblog_env
    激活虚拟环境
    source /data/website/myblog_env/bin/activate
    用git克隆一个demo项目
    cd /data/website/
    git clone https://github.com/MarkHoo/myblog.git
    查看当前目录下是否生成俩个目录,一个是项目源码的目录,一个是虚拟环境生成的目录
    安装项目环境依赖
    Nginx+Python+uwsgi+Django环境搭建
    编辑myblog里面的setting.py文件
    vim myblog/myblog/settings.py
    #其他配置...
    STATIC_URL = '/static/'
    #加入下面的配置
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    安装项目环境依赖
    pip install -r /data/website/myblog/requirements.txt
    收集静态文件
    运行 python manage.py collectstatic 命令收集静态文件到 static 目录下
    Nginx+Python+uwsgi+Django环境搭建
    生成数据库
    Nginx+Python+uwsgi+Django环境搭建
    创建超级用户
    Nginx+Python+uwsgi+Django环境搭建

    然后就会出现以下内容,第一个是用户名,第二个是邮箱,第三和第四是密码(输入时没有任何显示,实际上已经输入了)。最后显示创建成功!

    Username (leave blank to use ‘root’): admin
    Email address: admin@admin.com
    Password:
    Password (again):
    Superuser created successfully.

    备注:这里使用的是Django默认生成的sqlite3数据库,我使用了这个,简单写写博客够用了。
    启动 Django
    Nginx+Python+uwsgi+Django环境搭建
    如果没有报错,就说明 Django 已经安装成功了,打开浏览器输入你的服务器IP:8000,就可以看到你的网站了
    退出虚拟环境
    Nginx+Python+uwsgi+Django环境搭建
    退出 Django
    按 ctrl+c 退出 Django 服务

    5,安装Nginx,并配置nginx
    yum -y install nginx
    打开后默认的内容如下
    Nginx+Python+uwsgi+Django环境搭建
    找到server内容进行修改,具体内容如下
    server {
    listen 80;
    server_name 192.168.4.144;

        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
        root  /data/website/static;
        }
    
        location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://unix:/home/markhoo/sites/markhoo.com/myblog/myblog.sock;
        }
    
    }

    注意修改自己的IP地址或域名,还有文件路径
    server_domain_or_IP 代表你的IP地址或域名
    修改nginx的权限

    usermod -a -G root nginx
    chmod 710 /data/website
    nginx -t
    重启加载nginx配置文件
    nginx -s reload
    现在配置完成,可以访问80端访问这把项目了。

关键字