Kerberos认证原理 第三代半导体 微信小程序教程 双重检验锁 idea Markdown performance signalr bootstrap后台模板 ppt视频教程下载 abaqus是什么软件 matlab向量的模 docker查看所有容器 配置tomcat环境变量 vue使用bootstrap docker创建容器 python运行环境 python中的range函数 python基础代码 java多态 java怎么学 超级煎蛋卷 忧思华光玉 phpqrcode 图解设计模式 0x8002801c java语言程序设计 网络适配器下载 subscribe c语言指数函数 华为下拉开关设置 js代码混淆工具 小米8游戏模式 ie拒绝访问 开源即时通讯软件 unlocker下载 复仇之矛天赋 php上传文件 迅捷pdf转换器官网 祸星龙
当前位置: 首页 > 学习教程  > 编程语言

记一次uwsgi+django的采坑

2020/8/11 19:17:58 文章标签:

先把运行环境列一下吧:
1.python3.7.4
2.腾讯云centos7.6 64位服务器
3.django 2.1.7
4.virtualenv 20.0.30 
5.pip3 20.2.1

注:
1.为了避免权限问题我用root用户操作,不需要sudo命令,如果用普通用户操作出现了权限问题请自行百度解决,因为我也不会哈哈哈。。。。
2.系统内置的 python2.7 版本太老,所以我自己装了个比较新版的 python3.7.4,

公司要求搭一个 “需求订单-解决订单” 的简单服务器,不要求多大的并发,但是支持多用户操作和权限赋予。我想了想,这不正好用得着我最近学习的Django嘛,而且只用它自带的后台系统可以胜任!说做就做,进入正题。

进入终端,先把 yum 更新,执行:

yum update

然后你就看见一堆要下载的文件…


文件更新完了,在根目录下创建一个文件夹 py ,名字随便起,用来存放 python 的,在根目录下执行

mkdir py

你会发现多了一个文件夹 py ,执行

cd py 

进入py 文件夹,接着开始下载 python并解压 ,我用的是 python3.7.4(你想下哪个版本改一下3.7.4就行),执行

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

解压成功了还得安装,进入Python-3.7.4文件夹,执行安装命令

cd Python-3.7.4
./configure 
make && make install

这3步顺利的话,python就安装成功了,下一步是建立软连接(大概就是windows系统的桌面快捷方式吧。。。)

ln -s /usr/local/bin/python3 /usr/bin/python3

python3.7.4下的时候打包了pip3,所以也建立一个软连接(pip3的路径自己检查好啊)

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

验证一下python3和pip3是否安装成功,执行

python3 -V
pip3 -V

如果安装成功并成功建立软连接,显示
pip和python安装成功
顺便更新一下pip3吧。。。`

pip3 install --upgrade pip

到这一步我已经成功安装python和pip并建立好软连接。下一步安装虚拟环境(为啥要安装虚拟环境,其实很好理解,你在pycharm上面建立的项目也是在虚拟环境 virtualenv 里运行的,不是吗?)


安装 virtualenv,安装完同样要建立软连接(桌面快捷方式。。。)执行

pip3 install virtualenv
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

安装结果验证完后,创建一个存放项目虚拟环境的目录,我直接在跟目录创建一个吧,cd+回车 回到根目录,执行

virtualenv --python=/usr/bin/python3 pyenv

在根目录创建一个名为pyenv的虚拟环境,创建完成后进入此虚拟环境,执行

source /root/pyenv/bin/activate

如果进入成功,在命令行 [root@VM-0-7-centos ~]# 之前会有一个(pyenv),也就是(pyenv)[root@VM-0-7-centos ~]# ,到此我们就成功安装好虚拟环境了。


执行此命令进入虚拟环境的根目录,

cd /root/pyenv/bin
ls

ls显示当前目录的文件夹和文件,大概是这样的一个界面:
env
这是我的界面,django-admin.py、django-admin、uwsgi是后面装上去的,NewPhone则是我的项目。
到达这个界面就能开始建立自己的项目了,执行

python3 django-admin.py startproject p1 #建立一个名为p1的项目

p1
多了一个p1文件夹,cd p1 看看里面有什么?
p1_1
这是新建的项目根目录,在设置好各种配置之后,在项目根目录启动服务器:

python3 manage.py runserver 0.0.0.0:8000

打开浏览器输入:服务器外网IP:8000,即可访问服务器。如果访问失败,试着打开8000端口。

到这项目能跑起来了,根据需求还要安装 uwsgi,在虚拟环境下执行

pip3 install uwsgi

安装完成后,直接在项目根目录执行

uwsgi --http :8000 --module p1.wsgi --master --processes 4 --threads 2

使用4个进程,每个进程启动2条线程来处理动态请求。浏览器打开后台,完美运行!

其实后续应该再部署一个nginx来处理静态文件,但是项目需求没有那么高我就不用了。


这过程中遇到一个比较头疼的问题,就是当DEBUG设置为False后,静态文件没法加载的问题,在网上查了很多资料后,有一篇博文很完美解决了这个问题 django设置debug=false后无法加载静态文件问题解决

还有一个问题就是用 uwsgi.ini 启动uwsgi服务器的问题,由于没有设置好参数导致启动失败,无奈只能用上面的方式启动服务器,后续再来填这个坑吧。

自学不易,希望大家多多指教,大家共勉。


本文链接: http://www.dtmao.cc/news_show_100123.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?