centos 搭建 搭建uwsgi服务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了centos 搭建 搭建uwsgi服务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3387字,纯文字阅读大概需要5分钟。
内容图文
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.1.tar.xz 编译: cd Python-3.7.1 ./configure --prefix=/usr/local/python3.7 --enable-optimizations --prefix 是预期安装目录,--enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化(如果没记错的话),但是这会明显的增加编译时间。 安装: 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.6中,所以此时可以用/usr/local/python3.6/bin/python3检查
2.2 将当前python版本修改为python3
[1] cd /usr/bin [2] 备份当前python:mv python python.backup 或者直接删除: rm -rf python [3] 创建python3的软链接:ln -s /usr/local/python3.6/bin/python3.6 python3 [4] 将当前python软链接到python3:ln -s python3 python (此处可以省略第三步,直接 ln -s /usr/local/python3.6/bin/python3.6 python) [5] 检测当前版本:python -V
2.3 将当前pip版本修改为pip3
[1] cd /usr/bin [2] 备份当前pip:mv pip pip.backup 或者直接删除: rm -rf pip [3] 将当前pip软链接到pip3:ln -s /usr/local/python3.6/bin/pip3.6 pip [4] 检测当前版本:pip -V
PS:linux命令:【1】查看当前文件夹中python/pip所有版本:ll /usr/bin/pyth* ll /usr/bin/pip*
3.安装Django
pip install Django==2.1.3
4.安装uwsgi
pip install uwsgi ln -s /usr/local/python3.6/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/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 = :8000 # 项目根目录位置 chdir = /root/blog/ # wsgi.py文件在项目的中的相对位置 wsgi-file = /blog/wsgi.py module =blog.wsgi # 进程设置,无需变动 # master master = true # maximum number of worker processes # 启动4个uwsgi进程 processes = 4 # ... with appropriate permissions - may be needed # chmod-socket = 664 # 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 8080 ; #启动的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; #对于动态请求,转发到本机的9090端口,也就是uwsgi监听的端口 } #error_page 404 /404.html; error_page 500502503504 /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/; #同样自行设置,要保证目录已经建好 } }
原文:https://www.cnblogs.com/mrma/p/10184263.html
内容总结
以上是互联网集市为您收集整理的centos 搭建 搭建uwsgi服务全部内容,希望文章能够帮你解决centos 搭建 搭建uwsgi服务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。