热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS系统安装Nginx+Uwsgi服务器环境

用Python做web应用最麻烦的就是配置服务器环境了,它不像PHP那样简单配置下再把.php文件扔进web目录就可以了,而且当前配置pythonweb环境的方法也有很多种,对于新手而言实在是折腾得难过。这里记录一下我在CentOS上编译、配置的nginx+uwsgi环境的情况。准备
用Python做web应用最麻烦的就是配置服务器环境了,它不像PHP那样简单配置下再把.php文件扔进web目录就可以了,而且当前配置python web环境的方法也有很多种,对于新手而言实在是折腾得难过。这里记录一下我在CentOS上编译、配置的nginx+uwsgi环境的情况。

准备
先更新系统,并安装编译环境等等。
yum update
yum install python python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake

编译安装uwsgi
uwsgi的官方网站是http://projects.unbit.it/uwsgi/,这里我们下载它的当前稳定版本。
wget http://projects.unbit.it/downloads/uwsgi-1.0.4.tar.gz
tar -zxvf uwsgi-1.0.4.tar.gz # 解压
mv uwsgi-1.0.4 uwsgi # 重命名为uwsgi,仅仅为了方便
cd uwsgi # 切换到uwsgi目录
python setup.py build # 编译安装
make
下面将编译产生的可执行文件移动到/usr/bin里面去

编译安装nginx
nginx的官方网站是http://nginx.org,这里我们依然下载它的稳定版。
cd ~
wget http://nginx.org/download/nginx-1.0.13.tar.gz
tar -zxvf nginx.1.0.13.tar.gz
mv nginx-1.0.13 nginx
cd nginx
./configure --prefix=/usr/local/nginx # 编译选项配置,这里从简
make && make install # 编译安装
我们再将生成的nginx可执行文件在/usr/sbin里建立软链接
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

配置nginx
使用vi /usr/local/nginx/conf/nginx.conf打开nginx配置文件,将以下内容加入/修改到server里(至于vi/vim的使用,呃,自己学吧):
location /{
uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
}
ESC,输入:wq保存并退出。

测试
这里以 Flask 为例,安装Flask的简单方法是(前提是已安装了pip):
pip install flask
为了方便,这里在/usr/share里新建文件myapp.py
from flask import Flask
app = Flask(__name__)
app.debug = True
@app.route('/')
def index():
    return 'Hello World!'
然后我们启动nginx和uwsgi:
nginx
cd /usr/share
uwsgi -s 127.0.0.1:9001 -w myapp:app -d /var/log/uwsgi.log
接着浏览器打开localhost,如果看到大大的邪恶的Hello World!即表示配置成功!

推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文介绍了如何使用PHP代码实现微信平台的媒体素材上传功能,详细解释了API接口的使用方法和注意事项,确保文件路径正确以避免常见的错误。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
author-avatar
mEmorIes-谨年一_950
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有