# centos7environment **Repository Path**: EveryThingsIsPossible/centos7environment ## Basic Information - **Project Name**: centos7environment - **Description**: centos7下,搭建nginx+uwsgi+python3.8.2环境 - **Primary Language**: 其他 - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-23 - **Last Updated**: 2022-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # centos7environment #### 介绍 centos7.9.2009下,搭建nginx+uwsgi+python3.8.2环境 #### python3.8.2安装 1. 先更新系统,把《yum更新包》上传服务器 yum localinstall -y * 2. 安装依赖包,把《python3依赖包》上传服务器 yum localinstall -y * 3. 安装python3.8.2,把《Python-3.8.2.tgz》上传服务器 tar -zxvf Python-3.8.2.tgz , 进入解压文件夹 ./configure make make install 4. 添加软连接, 进入 /usr/local/bin/python3 ln -s python3 /usr/bin/python3 ln -s pip3 /usr/bin/pip3 #### uwsgi2.0.20安装 1. 上传《uwsgi-2.0.20.tar.gz》至服务器 2. 解压 tar -zxvf uwsgi-2.0.20.tar.gz 3. 进入解压目录 cd uwsgi-2.0.20 python3 setup.py install 4. 建立软连接 ln -s /usr/local/bin/uwsgi /usr/bin/uwsgi #### nginx-1.20.2安装 1. 上传《nginx-1.20.2.tar.gz》至服务器 2. 解压 tar -zxvf nginx-1.20.2.tar.gz 3. 进入目录 cd nginx-1.20.2 ./configure make make install 4. 启动、停止、重新加载 cd /usr/local/nginx/sbin ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload #### sqlite3安装 1. 上传《sqlite-autoconf-337...tar.gz》至服务器 2. 解压 tar-zxvf sqlite-autoconf-3370200.tar.gz 3. 进入解压后目录,构建并安装 cd sqlite-autoconf-3370200 ./configure --prefixe=/usr/local make && make install 4. 建立软连接 ln -sf /usr/local/bin/sqlite3 /usr/bin/sqlite3 5. 将路径传递给共享库 export LD_LIBRARY_PATH="/usr/local/lib" 6. 设置开机启动,把上面语句写入 ~/.bashrc 文件 vi ~/.bashrc 保存之后必须要source一下 source ~/.bashrc 7. 进入python查看引用版本有没有发现变化 python3 import sqlite3 sqlite3.sqlite_version #### django manage.py runserver 提示sqlite3版本低解决办法 1. 打开sqlit3 base文件 vim /usr/local/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py # from sqlite3 import dbapi2 as Database # 注释第14 行 from pysqlite3 import dbapi2 as Database # 将默认数据库获取位置改为 pysqlite3 2. 上传pysqlite3-0.4.6.tar.gz至服务器,解压并安装 tar-zxvf pysqlite3-0.4.6.tar.gz cd pysqlite3-0.4.6 python3 setup.py install #### uwsgi+nginx部署django项目 1. 新建一个项目文件夹,并进入 mkdir /data/wwwroot/python_web cd /data/wwwroot/python_web 2. 把本地电脑开发项目打包(manage.py同目录下,除去env文件夹,其他全部打包放到centos服务器上,最终目录 python_web python_web __init__.py asgi.py settings.py urls.py wsgi.py db.sqlite3 manage.py 3. python3 manage.py runserver 确保程序能正常运行 4. 修改settings.py 文件 ALLOW_HOST = ['your server ip', 'localhost'] 在STATIC_URL下添加 STATIC_ROOT = os.path.join(BASE_DIR, '/var/www') 迁移静态目录 python3 manage.py collectstatic 5. 配置nginx 上传《mysite.conf》至项目根目录下(与 manage.py同目录下) 进入到nginx目录下 cd /usr/local/nginx 修改配置文件 nginx.conf vi conf/nginx.conf 在http下,添加 include mysite.conf (详细内容看《nginx.conf》) 6. 配置uwsgi 上传uwsgi至项目根目录下(与 manage.py同目录下) 7. 启动uwsgi、启动nginx uwsgi --ini /data/wwwroot/python_web/uwsgi 进入到nginx/sbin目录下 ./nginx