编译安装nginx+LNMP+特性

一、安装Nginx: 
1、解决依赖关系 
# yum groupinstall "Development Tools" "Server Platform Deveopment" -y && yum install openssl-devel pcre-devel -y 
2、安装 
首先添加用户nginx,实现以之运行nginx服务进程: 
# groupadd -r nginx 
# useradd -r -g nginx nginx 
3、下载源码包并解压


接着开始编译和安装: 
# ./configure \ 
--prefix=/usr/local/nginx \ 
--error-log-path=/data/applogs/nginx/error.log \ 
--http-log-path=/data/applogs/nginx/access.log \ 
--pid-path=/var/run/nginx/nginx.pid \ 
--lock-path=/var/lock/nginx.lock \ 
--user=nginx \ 
--group=nginx \ 
--with-http_ssl_module \ 
--with-http_flv_module \ 
--with-http_stub_status_module \ 
--with-http_gzip_static_module \ 
--http-client-body-temp-path=/usr/local/nginx/client/ \ 
--http-proxy-temp-path=/usr/local/nginx/proxy/ \ 
--http-fastcgi-temp-path=/usr/local/nginx/fcgi/ \ 
--http-uwsgi-temp-path=/usr/local/nginx/uwsgi \ 
--http-scgi-temp-path=/usr/local/nginx/scgi \ 
--with-pcre

# make && make install

4、为nginx提供SysV init脚本
新建文件/etc/rc.d/init.d/nginx,内容如下:

#!/bin/sh 

# nginx - this script starts and stops the nginx daemon 

# chkconfig: - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
# proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config: /etc/nginx/nginx.conf 
# config: /etc/sysconfig/nginx 
# pidfile: /var/run/nginx.pid 
# Source function library. 
. /etc/rc.d/init.d/functions 
# Source networking configuration. 
. /etc/sysconfig/network 
# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 
nginx="/usr/local/nginx/sbin/nginx" 
prog=$(basename $nginx) 
NGINX_CONF_FILE="/usr/local/nginx/nginx.conf" 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
lockfile=/var/lock/subsys/nginx 
make_dirs() { 
# make required directories 
user=`nginx -V 2>&1 | grep "configure arguments:" | sed ‘s/[^*]*--user=\([^ ]*\).*/\1/g‘ -` 
options=`$nginx -V 2>&1 | grep ‘configure arguments:‘` 
for opt in $options; do 
if [ `echo $opt | grep ‘.*-temp-path‘` ]; then 
value=`echo $opt | cut -d "=" -f 2` 
if [ ! -d "$value" ]; then 
# echo "creating" $value 
mkdir -p $value && chown -R $user $value 
fi 
fi 
done 
}

start() { 
[ -x $nginx ] || exit 5 
[ -f $NGINX_CONF_FILE ] || exit 6 
make_dirs 
echo -n $"Starting $prog: " 
daemon $nginx -c $NGINX_CONF_FILE 
retval=$? 
echo 
[ $retval -eq 0 ] && touch $lockfile 
return $retval 
}

stop() { 
echo -n $"Stopping $prog: " 
killproc $prog -QUIT 
retval=$? 
echo 
[ $retval -eq 0 ] && rm -f $lockfile 
return $retval 
}

restart() { 
configtest || return $? 
stop 
sleep 1 
start 
}

reload() { 
configtest || return $? 
echo -n $"Reloading $prog: " 
killproc $nginx -HUP 
RETVAL=$? 
echo 
}

force_reload() { 
restart 
}

configtest() { 
$nginx -t -c $NGINX_CONF_FILE 
}

rh_status() { 
status $prog 
}

rh_status_q() { 
rh_status >/dev/null 2>&1 
}

case "$1" in 
start) 
rh_status_q && exit 0 
$1 
;; 
stop) 
rh_status_q || exit 0 
$1 
;; 
restart|configtest) 
$1 
;; 
reload) 
rh_status_q || exit 7 
$1 
;; 
force-reload) 
force_reload 
;; 
status) 
rh_status 
;; 
condrestart|try-restart) 
rh_status_q || exit 0 
;; 
*) 
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
exit 2 
esac

为此脚本赋予执行权限: 
# chmod +x /etc/rc.d/init.d/nginx 
 添加到服务管理列表:
# chkconfig --add nginx

开机启动 :
# chkconfig nginx on

启动服务 
# service nginx start

二、nginx的两种配置

1、反向代理

server { 
listen 80; 
server_name www.zhengzhou.com; 
add_header X-Via $server_addr;

location / { 
root html; 
index index.html index.htm; 
if ($request_method ~* "PUT") { 
proxy_pass http://172.16.1.1;   
break; 

}

location /bbs {                         //将http://www.zhengzhou.com/bbs/的请求转发到http://172.16.1.1/
proxy_pass http://172.16.1.1;     

}

2、限速功能

nginx的限速功能通过limit_zone、limit_conn和limit_rate指令进行配置。首先需要在http上下文配置一个limit_zone,然后在需要的地方使用limit_conn和limit_rate 进行限速设置。

http {

limit_zone first $binary_remote_addr 10m;      //定义一个名为first切容器大小为10m

server { 
location /downloads/ { 
limit_conn first 1;                             //每个IP地址只能发起一个连接
limit_rate 50k;                                    //对每一个连接限速为50K


}

更多详细介绍请查看官方文档:http://wiki.nginx.org/Main

时间: 2024-12-20 01:26:49

编译安装nginx+LNMP+特性的相关文章

LNMP搭建02 -- 编译安装Nginx

[编译安装Nginx]   为了顺利安装Nginx,先安装下面这些: [CentOS 编译 nginx 前要做的事情] yum install gcc gcc-c++ kernel-devel yum -y install pcre-devel openssl openssl-devel [Ubuntu 编译 nginx 前要做的事情] apt-get install gcc apt-get install libpcre3 libpcre3-dev apt-get install zlib1g

Centos7 编译安装 Nginx、MariaDB、PHP

前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小化安装 IP: 192.168.170.128 Nginx: 1.6.1 MariaDB: 5.5.39 PHP: 5.5.16 1.准备工作 1.1.系统硬件准备 尽管Linux能最大化发挥硬件资源,但RHEL/CentOS随着版本增加对最低硬件的配置也越来越高[1].RHEL7/CentOS最低

CentOS 6.5 编译安装Nginx

Nginx Nginx("enginex") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP代理服务器. Nginx 是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过四年多了.Igor 将源代码以类BSD许可证的形式发布.自Nginx 发布四年来,Nginx 已经因为它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名了.目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内

RedHat7编译安装Nginx

下载Nginx源码包# wget http://nginx.org/download/nginx-1.8.0.tar.gz 解压Nginx源码包# tar -zxvf nginx-1.8.0.tar.gz && cd nginx-1.8.0 安装依赖软件# yum -y install gcc pcre-devel openssl-devel zlib-devel 编译安装Nginx# ./configure \  --sbin-path=/usr/local/nginx/nginx \ 

编译安装nginx并修改版本头信息—参考实例

今天做实验的时候,想起我那台yum安装的nginx+php-fpm+mysql服务器上的nginx版本有点低了,并且还要加两个第3方模块,就去nginx官网下载了最新稳定版nginx-1.0.6,好了,废话不多说看教程吧.  系统版本: centos 5.6  ip: 192.168.1.200  需要的软件包:nginx-1.0.6.tar.gz Nginx-accesskey-2.0.3.tar.gz ngx_cache_purge-1.3.tar.gz(这3个包可以自己去下载,我就不提供了

centos 7编译安装nginx

禁用防火墙 systemctl disable firewalld systemctl stop firewalld setenforce 0 安装pcre库 yum install pcre* 安装zlib库 yum install zlib* 增加nginx用户:useradd nginx -G nginx 编译安装nginx: ./configure --prefix=/usr/local/nginx --error-log-path=/var/log/nginx/error.log --

<深入剖析Nginx> 编译安装nginx 以及使用eclipse编译开发nginx

明年就要找工作了,看看经典的开源项目-nginx,图书馆借了本<深入剖析Nginx>,开始研读,边读边做笔记. 第一篇是nginx的环境配置相关 参考帖子:Nginx模块开发---Linux使用eclipse编译,调试Nginx 文章5:Linux下使用Eclipse进行Nginx 模块开发 具体是参考上面的帖子和书,下面大概讲下步骤: 1. 经典的三个步骤,来编译安装nginx: 先下载源码: 官网下载链接 ./configure --with-debug --prefix=/home/zy

linux编译安装nginx

linux下编译安装nginx,从nginx官网下载nginx原代码,解压到某个目录,执行如下命令 # ./configure --prefix=/usr/local/nginx 配置nginx编译生成的目录,nginx的shell脚本将存储在/user/local/nginx/sbin目录,配置文件将存储在/user/local/nginx/conf目录下 nginx支持正则匹配路径,依赖pcre包,编译之前请先安装此包.如果要使用https,还需要openssl.如果要使用gzip,需要zl

编译安装Nginx+Mariadb+Memcache+php实现Nginx与Memcache结合

前端Nginx配置: 1.安装nginx 创建Nginx用户.创建/var/tmp/nginx目录并编译安装 useradd -r nginx mkdir /var/tmp/nginx tar xf nginx-1.4.7.tar.gz ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log -