linux安装 web2py,在Linux上使用web2py_uwsgi_nginx搭建web服务器
本文介绍在Linux使用Python+Nginx+web2py+uWSGI搭建一个web服务器的过程。
Python 2.7.11
解压安装包
tar -zxvf Python-2.7.11.tgz
cd Python-2.7.11
yum install sqlite-devel
./configure --enable-loadable-sqlite-extensions
会提示错误
Python build finished, but the necessary bits to build these modules were not found:
_ssl _tkinter bsddb185
bz2 dl imageop
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
需要安装相应的依赖包
yum install openssl-devel
按照依赖包操作,具体可以参照这篇 文档
继续安装
make
make install
rm /usr/bin/python
ln -s /usr/local/bin/python2.7 /usr/bin/python
python
Python 2.7.11 (default, Feb 2 2016, 14:33:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
安装Nginx
tar -zxvf nginx-1.8.0.tar.gz
tar -xzvf zlib-1.2.8.tar.gz
tar -zxvf pcre-8.37.tar.gz
groupadd nginx
useradd nginx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-pcre=/opt/web/pcre-8.37 \
--with-zlib=/opt/web/zlib-1.2.8 \
--with-http_addition_module \
--with-http_realip_module
make
make install
cd /usr/local/nginx
./nginx
安装uWSGI
tar -zxvf uwsgi-latest.tar.gz
cd uwsgi-2.0.12
python uwsgiconfig.py --build
cp uwsgi /usr/sbin
配置uWSGI
创建配置文件/etc/uwsgi/web2py.ini,并在配置文件中输入以下内容。
[uwsgi]
socket = 127.0.0.1:9090
pythonpath = /var/www/html/web2py/
mount = /=wsgihandler:application
processes = 4
master = true
harakiri = 60
reload-mercy = 8
cpu-affinity = 1
stats = /tmp/%n.stats.socket
max-requests = 5000
limit-as = 1024
reload-on-as = 256
reload-on-rss = 192
cron = 0 0 -1 -1 -1 python /var/www/html/web2py/web2py.py -Q -S welcome -M -R scripts/sessions2trash.py -A -o
no-orphans = true
chmod-socket = 666
创建uWSGI开关命令。
'#!/bin/sh
'# Autor: Nilton OS -- www.linuxpro.com.br
'#
'#
'### BEGIN INIT INFO
'# Provides: uwsgi
'# Required-Start: $syslog $remote_fs
'# Should-Start: $time ypbind smtp
'# Required-Stop: $syslog $remote_fs
'# Should-Stop: ypbind smtp
'# Default-Start: 3 5
'# Default-Stop: 0 1 2 6
'### END INIT INFO
'# Source function library.
. /etc/rc.d/init.d/functions
'# Check for missing binaries (stale symlinks should not happen)
UWSGI_BIN=which uwsgi
test -x \(UWSGI_BIN || { echo "\)UWSGI_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
UWSGI_EMPEROR_MODE=true
UWSGI_VASSALS="/etc/uwsgi/"
UWSGI_OPTIONS="--enable-threads --logto /var/log/uwsgi/uwsgi.log"
lockfile=/var/lock/subsys/uwsgi
UWSGI_OPTIONS="$UWSGI_OPTIONS --autoload"
if [ "$UWSGI_EMPEROR_MODE" = "true" ] ; then
UWSGI_OPTIONS="$UWSGI_OPTIONS --emperor $UWSGI_VASSALS"
fi
case "$1" in
start)
echo -n "Starting uWSGI "
daemon $UWSGI_BIN $UWSGI_OPTIONS &
;;
stop)
echo -n "Shutting down uWSGI "
killproc $UWSGI_BIN
;;
restart)
$0 stop
$0 start
;;
status)
echo -n "Checking for service uWSGI "
status $UWSGI_BIN
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
根据上面的开关命令,还需要增加一个uWSGI的日志文件。
mkdir -p /var/log/uwsgi
touch /var/log/uwsgi/uwsgi.log
web2py安装
所谓的安装只需要将web2py的包解压到指定目录就可以,从官网可以下载二进制包。
mkdir /var/www/html
unzip web2py_src.zip
mv web2py/handlers/wsgihandler.py web2py/wsgihandler.py
chown -R nginx:nginx web2py
cd web2py
sudo -u nginx python -c "from gluon.main import save_password; save_password('password',443)"
配置NginX
增加一个server模块,监听80端口,将访问使用uWSGI转移到web2py。
server {
listen 80;
server_name YOUR_SERVER_FQDN;
'#to enable correct use of response.static_version
location ~* /(\w+)/static(?:/_[\d]+\.[\d]+\.[\d]+)?/(.*)$ {
alias /var/www/html/web2py/applications/$1/static/$2;
expires max;
}
location / {
uwsgi_pass 127.0.0.1:9090;
uwsgi_pass unix:///var/www/html/web2py/logs/web2py.socket;
include /etc/nginx/uwsgi_params;
}
}
启动Nginx和uWSGI
注意:web2py本身不需要启动,只用被uWSGI被动调用即可。
/usr/local/nginx/sbin/nginx
/etc/init.d/uwsgi start
以上执行完后,在浏览器访问服务器的IP地址,若需要以下页面则说明部署成功。
版权说明:camash原创,转载请注明出处 http://www.cnblogs.com/shenfeng/
--EOF--
linux安装 web2py,在Linux上使用web2py_uwsgi_nginx搭建web服务器相关推荐
- linux安装后连接不上网络
linux安装后连接不上网络 linux最小版安装后 ping www.baidu.com 结果显示notknow 解决办法: 1.可能ip地址和网关dns没配置 2.可能windows系统有两个服务 ...
- Kali linux安装步骤,史上最详细的步骤,傻瓜式教学
Kali linux安装步骤 Kali linux安装步骤 一. 虚拟机安装 下载镜像文件https://www.kali.org/downloads/ 可以选择自己的版本,这里选择的是64位 1. ...
- Linux - nginx 搭建 Web服务器
前言 在之前,已经对 nginx 有过基本的介绍. 现在尝试利用 nginx 来 搭建一个 web服务器. 正文 1.什么是 Web 服务器? Web服务器也称为WWW (WORLD WIDE WEB ...
- 使用Linux搭建web服务器
对于一个网站开发者而言,在经历了艰难的开发过程后,要将网站推向给用户,必须要做的一步便是部署我们的web应用,这样广大的用户才能成功访问我们的网站.目前主流的部署平台都是基于Linux的.本文将详细讲 ...
- arm Linux 低成本方案,参赛作品《低成本基于ARM+Linux平台搭建web服务器的物联网学习板》...
[报名阶段需要填写的内容] 1. 参赛者姓名(必填项): 王徕泽 2. 单位或学校名称(选填项): 徕泽电子工作室 3. 当前职务或职称(选填项): 室长 4. 参赛作品的名字(必填项): 低成本基于 ...
- 推荐两款支持在linux下运行ASP.NET网站的国产免费WEB服务器软件
推荐两款支持在linux下运行ASP.NET网站的国产免费WEB服务器软件 1.kangle kangle web server是一款跨平台(windows/linux/bsd).功能强大.安全稳定. ...
- Linux搭建web服务器---静态网站
搭建web服务器 三种实例: 1.多ip多网站搭建 2.多端口多网站搭建 3.多域名多网站搭建 实例1.多ip多网站搭建 前提配置: 添加多ip #nmcli connection modify en ...
- centos+7虚拟机web服务器,CentOS7上搭建WEB服务器
mysql 安装 直接yum install mysql-server是不可以的 1 wget http://repo.mysql.com/mysql-community-release-el7-5. ...
- 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置
上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx. Nginx("engine x")是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能 ...
- 教程 | 用安卓手机搭建 web 服务器(一)—— 应用安装配置
[2019.2.23 更新]:更新 BusyBox,Linux Deploy 软件 之前无意间看到了一篇<在安卓上部署服务器>的文章,正好最近换了新手机,正好最近在学 Python 和 H ...
最新文章
- php扩展包启动,Composer 扩展开发:本地运行扩展包
- 第一次接广告的心得,关于广告我怎么看
- 视图中的难点:主键表 About Key-Preserved Tables
- python 逗号作用 语句间_Python 逗号的几种作用
- 前端学习(2347):创建新页面和配置
- 阿里巴巴上线静态开源站点搭建工具 Docsite
- 科学计算机fix sci,计算器按mode出来的comp、SD、REG、DEg、Rad、Gra、Fix、Sci、Norm、Disp、是什么意思?...
- 单用户模式 启动 mysql_单用户模式连接以及故障排除
- nginx强制刷新用户缓存_HTTP 缓存
- On intelligence by Jeff Hawkins
- web游戏/网页游戏网址
- [NOIP2017]图书管理员
- wifi信号衰减与距离关系_wifi无线信号传输衰减距离计算公式
- 搜狗输入法 VS 拼音加加
- QuerySet,本质上是一个给定的模型的对象列表
- 使用Drupal Console,出现Failed to decode response: zlib_decode(): data error Retrying with degraded mode
- 【2018年11月12日】其他化学制品行业的股票估值和排名
- 如何利用新闻传播进行产品网络推广?
- windbg解决程序CPU占用率高,内存占用时高时低现象
- mac python环境搭建
热门文章
- zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
- zblog php 分类页,zblog怎样实现不同分类页调用不同页面模板和样式
- git如何选择性合并_git - 如何挑选一系列提交并合并到另一个分支?
- 【PTA-乙级】1019 - 数字黑洞(4种解法)(C/C++)
- SSM(Spring+SpringMVC+MyBatis)框架入门
- jsp手机h5页面出现了 微信链接带打开何新浪uc打开格式都显示css起作用,但是用谷歌浏览器显示css没起作用
- 怎么简单的生成SSL证书
- DMA方式的数据传送过程
- 弘辽科技:刷单越来越不行了吗?
- 利用MATLAB进行车辆的速度测量