nginx 编译安装与配置详解

一、编译安装

1、使用yum安装所需的包,虽然需要编译几个依赖包,pcre、zlib、openssl

yum -y groupinstall "Development Tools""Server Platform Development"

yum install pcre-devel zlib-devel openssl-devel gcc* (一般系统装好了,以下的这几个包openssl、zlib、pcre都已经安装上了,注意: pcre-devel zlib-devel openssl-devel这几个devel包要装上,不然编译的时候会报错)

2、添加用户和组

groupadd -r nginx

useradd -r -g nginx nginx

3、解压安装文件

tar -zxvf nginx-1.10.1.tar.gz

cd nginx-1.10.1

4、配置选项

./configure --prefix=/usr/local/nginx #nginx家目录

--sbin-path=/usr/sbin #nginx主程序路径

--conf-path=/etc/nginx/nginx.conf #nginx主配置文件路径

--error-log-path=/var/log/nginx/error.log #错误日志路径

--http-log-path=/var/log/nginx/access.log #访问日志路径

--pid-path=/var/run/nginx/nginx.pid #进程ID路径

--lock-path=/var/lock/nginx.lock #nginx锁文件路径

--user=nginx #worker进程所属的用户名称

--group=nginx #worker进程所属的组名称

--with-http_ssl_module #启用http_ssl模块

--with-http_flv_module #启用服务端伪流媒体模块

--with-http_stub_status_module #启用健康检查模块

--with-http_gzip_static_module #启用ngnix 的静态缓存模块

--http-client-body-temp-path=/var/tmp/nginx/client #启用为http连接的请求实体临时文件设置路径

--http-proxy-temp-path=/var/tmp/nginx/proxy #为http代理临时文件设置路径

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi #为http fastcgi临时文件设置路径

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi #为http uwcgi临时文件设置路径

--http-scgi-temp-path=/var/tmp/nginx/scgi  #为http scgi临时文件设置路径

--with-pcre #使用pcre库文件

--with-stream #启用TCP/UDP代理模块

运行配置检查:

Configuration summary

+ using system PCRE library

+ using system OpenSSL library

+ md5: using OpenSSL library

+ sha1: using OpenSSL library

+ using system zlib library

nginx path prefix: "/usr/local/nginx"

nginx binary file: "/usr/sbin/nginx"

nginx modules path: "/usr/local/modules"

nginx configuration prefix: "/etc/nginx"

nginx configuration file: "/etc/nginx/nginx.conf"

nginx pid file: "/var/run/nginx/nginx.pid"

nginx error log file: "/var/log/nginx/error.log"

nginx http access log file: "/var/log/nginx/access.log"

nginx http client request body temporary files: "/var/tmp/nginx/client/"

nginx http proxy temporary files: "/var/tmp/nginx/proxy/"

nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi/"

nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi"

nginx http scgi temporary files: "/var/tmp/nginx/scgi

5、编译和安装

make && make install

6、在/var/tmp目录下建立nginx目录

mkdir -p /var/tmp/nginx

7、检查配置文件是否有语法错误

[[email protected] ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

8、编辑服务启动脚本

vim /etc/init.d/nginx

#! /bin/bash

#

# 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

# pidfile:       /var/run/nginx/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/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/nginx.lock

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

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

9、启动nginx

[[email protected] init.d]# service nginx start
正在启动 nginx:                                           [确定]

10、停止nginx

[[email protected] init.d]# service nginx stop
停止 nginx:                                               [确定]

11、查看进程情况

[[email protected] init.d]# ps -ef|grep nginx
root      10342      1  0 02:04 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     10344  10342  0 02:04 ?        00:00:00 nginx: worker process                   
root      10350   1613  0 02:07 pts/0    00:00:00 grep nginx

12、查看监听的端口

[[email protected] init.d]# netstat -tnlp|grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      10342/nginx

13、查看测试页

时间: 2024-10-15 08:22:24

nginx 编译安装与配置详解的相关文章

libCURL开源库在VS2010环境下编译安装,配置详解

libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 CURL开源库VS2010环境下编译安装,配置详解 一 准备 1.1 CURL官网下载地址:http://curl.haxx.se/download.html 1.2 找到源码包,我这里下载的是7.32.0版:http://curl.haxx.se/download/curl-7.32.0.zip 二 步骤 2.1 打开curl-7.32.0\

Nginx编译安装和配置文件详解

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,它由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,其特点是占有内存少,并发能力强.模块化设计,有较好的扩展性.高可靠性.支持热部署等. 下面我们基于源码编译的方式进行安装 从Nginx官网(http://nginx.org/)可以看到,目前Nginx官方稳定版已到1.8.0,此处使用的是1.6.2版本,我们下载安装

varnish安装及配置详解

varnish系统架构: varnish主要运行两个进程:Management进程和Child进程(也叫Cache进程). Management进程主要实现应用新的配置.编译VCL.监控varnish.初始化varnish以及提供一个命令行接口等.Management进程会每隔几秒钟探测一下Child进程以判断其是否正常运行,如果在指定的时长内未得到Child进程的回应,Management将会重启此Child进程. Child进程包含多种类型的线程,常见的如:Acceptor线程:接收新的连接

vsftpd2.3.2安装、配置详解

一.vsftpd 简介     Vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件.其全称是Very Secure FTP Deamon,在安全性.速度和稳定性都有着不俗的表现.在安全性方面,vsftpd针对程序的权限来设计,以一般身份启动服务,对Linux系统的使用 权限较低:在千兆以太网上,vsftpd的速度可以达到86MB/s:在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发 连接为1500用户,峰值达4000用户,而这些还是在单机上实现的.此

Weblogic12c安装与配置详解

Weblogic是什么Weblogic的安装Weblogic创建域Weblogic管理域Weblogic的应用Weblogic是什么 Weblogic这是我入职以后第一次接触到的词汇,我很陌生,就从我的角度来讲,我需要知道Weblogic是什么.干吗用的,然后才继续深入的学习怎么使用它.WebLogic是美商Oracle的主要产品之一,系购并得来.是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 目前

DenyHosts 安装及配置详解

http://moo1985.blog.51cto.com/401365/290662 http://www.lllusion.com/?p=437 DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能. 下面进入主题. 1.安装脚本 要求安装服务器能上网,并建立 /workspace目录 ###########################

[转帖]Nginx的超时keeplive_timeout配置详解

Nginx的超时keeplive_timeout配置详解 https://blog.csdn.net/weixin_42350212/article/details/81123932 Nginx 处理的每个请求均有相应的超时设置.如果做好这些超时时间的限定,判定超时后资源被释放,用来处理其他的请求,以此提升 Nginx 的性能. keepalive_timeout HTTP 是一种无状态协议,客户端向服务器发送一个 TCP 请求,服务端响应完毕后断开连接. 如果客户端向服务器发送多个请求,每个请

MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)

MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)本篇文章主要介绍了MySQL5.6 数据库主从同步安装与配置详解,具有一定的参考价值,有兴趣的可以了解一下.安装环境 操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27 主机A:192.168.1.1 (Master) 主机B:192.168.1.2 (Slave) 这里强调的数据库的版本,是因为MySQL在5.6之前和之后的安装方式是不一样的. 本人在进行配置的时候,也遇到了这个坑,这里提前说明,希望

持续集成(CI)工具------Hudson(Continuous Integration)安装与配置详解

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/, 版权所有 文章概述: 一. 描述了持续集成工具Hudson的安装与配置 二. 描述了Git .Maven环境的安装与配置 三. 描述了扩展邮件通知及其配置方法 四. 描述了jira的配置 一.Hudson简介 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控持续的软件版本发布/测试项目 下载地址:http://eclipse.org/download