centos 搭建 搭建uwsgi服务
1. 安装linux系统所需的一些软件依赖
yum groupinstall "Development tools"
yum install openssl openssl-devel sqlite-devel zlib-develbzip2-devel ncurses-devel readline-devel tk-devel
yum install pcre pcre-devel pcre-static
2.安装python3.7
当前版本:2.7.5
下载:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
解压:tar xJf Python-3.7..tar.xz
编译:
cd Python-3.7.
./configure --prefix=/usr/local/python3. --enable-optimizations
--prefix 是预期安装目录,--enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 % 左右的优化(如果没记错的话),但是这会明显的增加编译时间。
安装:
make
make install
此时出现错误:Fatal Python error: _PySys_BeginInit: can't initialize sys module
上面错误解决办法:python版本降级,安装了3.6。猜测是centos版本与python3.7版本不匹配
错误:执行 ./configure --prefix=/usr/local/python3.7 --enable-optimizations 时 configure: error: no acceptable C compiler found in $PATH
解决。可能需要安装GCC,执行了 yum install gcc 可以继续执行了
错误:执行 make install 时 ModuleNotFoundError: No module named '_ctypes'
解决:执行 yum install libffi-devel -y 然后再执行 make install
2.1 检查是否成功
which python3:执行此方法将无法查询不到python3,因为此命令是从(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)这几个中查找。而我是将python3.6安装在了/usr/local/python3.7中,所以此时可以用/usr/local/python3.7/bin/python3检查
2.2 将当前python版本修改为python3
[] cd /usr/bin
[] 备份当前python:mv python python.backup 或者直接删除: rm -rf python
[] 将当前python软链接到python3: ln -s /usr/local/python3.7/bin/python3.7 python
[] 检测当前版本:python -V
2.3 将当前pip版本修改为pip3
[] cd /usr/bin
[] 备份当前pip:mv pip pip.backup 或者直接删除: rm -rf pip
[] 将当前pip软链接到pip3:ln -s /usr/local/python3.7/bin/pip3.7 pip
[] 检测当前版本:pip -V
PS:linux命令:【1】查看当前文件夹中python/pip所有版本:ll /usr/bin/pyth* ll /usr/bin/pip*
3.安装Django
pip install Django==2.1.
4.安装uwsgi
pip install uwsgi
ln -s /usr/local/python3.7/bin/uwsgi /usr/bin/uwsgi
5.安装mysqlclient
[1] pip install mysqlclient
遇到错误
解决办法:yum install mysql-devel
此时又出现 yum 语法错误,这是因为 yum 不支持 python3 ,而上面的操作已经将默认的 python2 改为了 3 ,所以出现错误
修改 vim /usr/bin/yum 及 /usr/libexec/urlgrabber-ext-down 第一行的 /usr/bin/python 改为 python2
错误:
解决:修改错误的文件python版本
6.配置并启动uwsgi服务
参考:https://blog.csdn.net/weixin_39198406/article/details/79277580
[1] 在项目创建 uwsgi.ini 文件(与manage.py同级,不知是不是必须),并填写以下配置信息:
[uwsgi]
# Django-related settings
# Django项目本地端口
socket = :
# 项目根目录位置
chdir = /root/blog/
# wsgi.py文件在项目的中的相对位置
wsgi-file = /blog/wsgi.py
module =blog.wsgi
# 进程设置,无需变动
# master
master = true
# maximum number of worker processes
# 启动4个uwsgi进程
processes =
# ... with appropriate permissions - may be needed
# chmod-socket =
# clear environment on exit
vacuum = true
pidfile=uwsgi.pid
daemonize=uwsgi.log
[2] 启动 uwsgi
uwsgi在哪个目录启动,就会在哪个目录生成uwsgi.pid和uswgi.log文件。
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
强制停止:killall -9 uwsgi
这里我们启动uwsgi服务,可以通过ps -ef | grep uwsgi看到已经有四个uwsgi服务启动。
7.配置nginx
server {
listen ; #启动的nginx进程监听请求的端口
server_name localhost; #域名
error_log /var/log/easy_sysman/error.log; #nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:; #对于动态请求,转发到本机的9090端口,也就是uwsgi监听的端口
}
#error_page /.html;
error_page /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location /static/ {
alias /var/www/easy_sysman/static/; #设定静态文件所在目录
}
location /media/ {
alias /var/www/easy_sysman/media/; #同样自行设置,要保证目录已经建好
}
}
centos 搭建 搭建uwsgi服务的更多相关文章
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- Centos 6.5 pptpd服务端搭建过程
首先检测有没有启用ppp和tun cat /dev/ppp cat /dev/net/tun 如果显示是这样的 cat: /dev/ppp: No such device or address cat ...
- CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K 收藏 0 ...
- 基于centos搭建nginx+uwsgi运行django环境
环境: CentOS 7 nginx/1.9.12 Python 2.7.5 一:安装依赖包5 yum install zlib-devel bzip2-devel pcre-devel openss ...
- ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务
要想可视化ElasticSearch,就需要安装一些插件,安装插件的前提是安装所依赖的环境,比如java,maven等,本篇博文就不再走那些流程了.没安装的童鞋可以看我的ElasticSearch栏目 ...
- centos上搭建git服务--3
前言:当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,GIT就是一个很好的选择.当然,既然是一个共有平台,那么把这个平台放到个人计算机上明显是不合适的,因此就要在服务器上搭 ...
- python3环境搭建(uWSGI+django+nginx+python+MySQL)
1.系统环境,必要知识 #cat /etc/redhat-release CentOS Linux release (Core) #uname -r -.el7.x86_64 暂时关闭防护墙,关闭se ...
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
- 搭建pyspider爬虫服务
1. 环境准备 首先yum更新 yum update -y 安装开发编译工具 yum install gcc gcc-c++ -y 安装依赖库 yum install python-pip pytho ...
随机推荐
- Shell升级,/bin/bash版本号4.1到4.3
bash环境变量存在随意代码运行漏洞:"通过CGI请求方式能够导致远程代码运行,进而导致server被入侵.危害严重.且官方发布补丁也被绕过", [漏洞影响]: 1)bash受影响 ...
- 在安卓上,微信公众号无法分享到QQ的解决办法之一
今天做一个微信公众号分享功能,参考微信sdk,代码几乎没有任何问题,但就是分享到QQ失败,以下是我QQ分享部分的代码: wx.onMenuShareQQ({ title: '快来和我一起玩转大脑', ...
- U-Boot中的filesize环境变量
U-Boot中的环境命令可以使用$(filesize)来确定刚下载(传输)得到的文件大小. 因为使用类似tftp命令传输文件后,会自动更新filesize环境变量.如:setenv updateroo ...
- CSDN日报20170328——《你看那个人他像一条狗》
[程序人生]你看那个人他像一条狗 作者:清纯的微笑 今年三十了,到了传说中程序猿最应该迷茫的年龄了,那么我迷茫吗,没的说,依照华为34岁就要劝退的要求,我还有4年的程序生涯. [微信小程序]重磅!个人 ...
- 数字锁相环Octave仿真
clc; clear all; % 仿真数据长度 SimLens = 1000; % 载波信号 Fs = 2400; Ts = 1 / Fs; Fsig = 60; % 随机初相 Delta_Phas ...
- TZOJ 1072: 编辑距离(动态规划)
1072: 编辑距离 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 总提交: 917 測试通过:275 描写叙述 如果字符串的 ...
- ubuntu docker方式部署docker registry v2
生成自己签名的证书 生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts. mkdir /data ...
- C#中Split用法~字符串分隔
1.用字符串分隔: using System.Text.RegularExpressions;string str="aaajsbbbjsccc";string[] sArray= ...
- [Transducer] Make Transducer works for Iteratable collection and Object
We've seen how we can transduce from arrays or other iterables, but plain objects aren't iterable in ...
- Nginx 内嵌lua脚本,结合Redis使用
0x00 Nginx 内嵌Lua脚本有下面特点: 20k个并发连接 Lua脚本能够在Nignx 11个层次的不同层次发挥作用,扩展Ngnix功能 Lua速度极快(寄存器指令) 0x01 应用场景 在w ...