Centos + Python3.5 + pip + uwsgi + django环境搭建

2024-05-31 03:18

本文主要是介绍Centos + Python3.5 + pip + uwsgi + django环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装python

1.查看是否已经安装Python,使用python -V命令查看当前Python版本。

看一下Python可执行文件的位置:

which python

进入到可执行文件目录

执行:

mv python python.bak

命令备份python文件

2.安装新版本的Python

下载Python新版本https://www.python.org/downloads/source/

或者执行wget命令直接下载到服务器:

wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz

解压缩:

tar -zxvf Python-3.5.1.tgz

加压缩之后该目录下出现Python-3.5.1文件夹,进入到文件夹下执行编译安装。执行 :

./configure --prefix=/usr/local/python/python3
make
make install 

命令。

3.修改yum配置文件

因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.6

因此修改yum配置文件(vi /usr/bin/yum)。

把文件头部的

#!/usr/bin/python

改成

#!/usr/bin/python2.6

保存退出即可。

安装 pip 

1、首先检查Linux有没有安装Python-pip包,直接执行:

yum install python-pip

注释:如果没有python-pip包就先执行命令:

yum -y install epel-release

2、对安装好的pip进行升级:

pip install --upgrade pip

pip 安装uwsgi

yum install python-devel mysql-devel zlib-devel openssl-devel
pip install uwsgi

完成之后

编辑python测试文件

/usr/local/nginx/html 建立 index.py

def application(env, start_response): start_response('200 OK', [('Content-Type','text/html; charset=iso-8859-1')]) return 'Hello, world'

启动:

uwsgi --http  :8001 --wsgi-file /usr/local/nginx/html/index.py

安装django

pip install Django==x.x

(==x.x)表示你要指定的版本号

测试结果:

启动:python 

输入:import django

没有报错就成功了!


配置篇:

1、安装Python时已经自动安装了pip,因此可以直接使用pip安装virtualenv:

pip install virtualenv

2、安装Python时已经自动安装了pip,因此可以直接使用pip安装virtualenv(以/usr/local/nginx/html/xxx.com/为例)

cd /usr/local/nginx/html/xxx.com/
python -m venv pyenv

3、配置本地环境需求:

cd /usr/local/nginx/html/xxx.com/pyenv/
pip freeze  #查看项目的配置环境
pip freeze > requirements.txt  #将项目的配置环境导出至requirements.txt中
source bin/activate #激活虚拟目录
pip install -r requirements.txt  # 安装项目的环境配

4、新建django项目(例如:blog):

cd /usr/local/nginx/html/xxx.com/pyenv/
django-admin.py startproject blog

5、修改blog项目配置:

vim /usr/local/nginx/html/xxx.com/pyenv/blog/blog/settings.py

修改的配置项如下:

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
ALLOWED_HOSTS = ['xxx.com']  #如无域名,可绑定IP地址DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}
}
6、 为我们的博客系统生成数据库:

cd /usr/local/nginx/html/xxx.com/pyenv/blog
python manage.py migrate

 执行成功后,当前目录 
下生成了 
db.sqlite3数据库文件。 

7、uwsgi配置:

cd /usr/local/nginx/html/xxx.com/pyenv
pip install uwsgi
uwsgi --http :8000 --module blog.wsgi

如果如出现下面的内容,则运行成功:

spawned uWSGI worker 1 (and the only) (pid: 18417, cores: 1)

如需退出,control + c 退出测试环境

注:虚拟环境到此结束,请使用deactivate 退出虚拟环境。

8、配置nginx vhost文件,给个例子:

upstream django{server 127.0.0.1:8001; #叫啥忘记了,与uWSGI产生联系
}
server {listen 80;server_name xxx.com;  #  绑定的域名charset utf-8;client_max_body_size 10M; #上传最大限制10Mlocation /static/ {root /usr/local/nginx/html/xxx.com/pyenv/blog/static;  # 静态文件的地址}location / {include         /usr/local/nginx/html/xxx.com/pyenv/uwsgi_params;   # uwsgi_params别紧张,这个文件楼下等会编辑uwsgi_pass      django;}
}

9、 配置uwsgi配置文件:

cd /usr/local/nginx/html/xxx.com/pyenv
vim blog.ini

配置文件内容如下(最后记得把此配置的注释删除在保存):

[uwsgi]
chdir = /usr/local/nginx/html/xxx.com/pyenv/blog/ #模块位置 
module = blog.wsgi  #模块名称
home = /usr/local/nginx/html/xxx.com/pyenv/ #项目位置
master = true
processes = 5
socket = :8001 #与楼上的那个内容挂钩
chmod-socket = 666
vacuum = true

10、配置uwsgi_params文件:

/usr/local/nginx/html/xxx.com/pyenv
vim uwsgi_params

配置文件内容如下:

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;
uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;
uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

11、设置开机启动:

vim /etc/rc.local
/usr/local/bin/uwsgi --ini /usr/local/nginx/html/xxx.com/pyenv/blog.ini
 

启动服务篇:

1、激活虚拟目录

cd /usr/local/nginx/html/xxx.com/pyenv/
source bin/activate

2、启动uwsgi

uwsgi --ini blog.ini

至此,项目部署完成!


这篇关于Centos + Python3.5 + pip + uwsgi + django环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1017312

相关文章

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

SpringBoot实现多环境配置文件切换

《SpringBoot实现多环境配置文件切换》这篇文章主要为大家详细介绍了如何使用SpringBoot实现多环境配置文件切换功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 示例代码结构2. pom文件3. application文件4. application-dev文