Nginx+Python+uwsgi+D

2023-01-31 01:01:49 python nginx uwsgi

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端访问这把项目了。

相关文章