nginx-1.6.2.tar.gz 源码安装

1.获取新版本的nginx服务器.
  登录nginx官网下载页面:http://nginx.org/en/download.html
  下载nginx的stable(稳定)版本:nginx-1.6.2.tar.gz

2. 安装nginx之前在linux系统上确保安装以下软件和第三方库.
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-developen openssl-devel

注意如下:
(1)gcc是安装GUN C语言编译器,用来编译nginx源代码的。
(2)automake是安装Automake工具,Automake工具是用来完成自动创建Makefile文件的。
(3)由于nginx的一些模块需要依赖其他第三方库,通常有:pcre库(支持rewrite模块),zlib库(支持gzip模块),openssl库(支持ssl模块),所以需要安装pcre, zlib, openssl库。
(4)gcc-c++ 是C++编译器。

安装之前添加www用户来管理www服务器
# groupadd www
# useradd www  -g www

3.编译和安装nginx服务器
#复制nginx到/usr/local/src/目录下
[root@ip40 tmp]# cp nginx-1.6.2.tar.gz /usr/local/src/
[root@ip40 tmp]# cd /usr/local/src
[root@ip40 src]# ls
nginx-1.6.2.tar.gz
#解压缩
[root@ip40 src]# tar zxf nginx-1.6.2.tar.gz
[root@ip40 src]# ls nginx-1.6.2 nginx-1.6.2.tar.gz
#进入nginx源码目录下
[root@ip40 src]# cd nginx-1.6.2
#查看解压缩出来的文件和目录
[root@ip40 nginx-1.6.2]# ls -l
总用量 620
drwxr-xr-x. 6 1001 1001   409610月 27 15:06 auto
-rw-r--r--. 1 1001 1001 236013 9月  16 20:23CHANGES
-rw-r--r--. 1 1001 1001 359556 9月  16 20:23CHANGES.ru
drwxr-xr-x. 2 1001 1001   409610月 27 15:06 conf
-rwxr-xr-x. 1 1001 1001   23699月  16 20:23 configure
drwxr-xr-x. 4 1001 1001   409610月 27 15:06 contrib
drwxr-xr-x. 2 1001 1001   409610月 27 15:06 html
-rw-r--r--. 1 1001 1001   13979月  16 20:23 LICENSE
drwxr-xr-x. 2 1001 1001   409610月 27 15:06 man
-rw-r--r--. 1 10011001    49 9月  16 20:23 README
drwxr-xr-x. 8 1001 1001   409610月 27 15:06 src
对解压缩出来的部分文件和目录做个简单的介绍:
(1)src目录中存放了nginx软件的所有源代码.
(2)man目录中存放了nginx软件的帮助文档,nginx安装后,在命令行输入man命令可查看:
[[email protected]]# man nginx
(3) html目录中存放了后缀是.html的静态网页文件,这是网页文件的存放目录
(4)conf目录存放的是nginx服务器的配置文件,最重要的nginx.conf配置文件。
(5)auto目录存放了大量的脚本文件,和configure脚本程序有关.
(6)configure文件是nginx软件的自动脚本程序,运行configure脚本会
根据系统叁数及环境产生合适的Makefile文件或是C的头文件(headerfile),让源程序可以很方便地在这些不同的平台上被编译连接。

4.使用configure脚本自动生成Makefile文件
[root@ip40 nginx-1.6.2]# ./configure--prefix=/usr/local/nginx
configure脚本常用选项:
--prefix=     指定nginx软件的安装路径.
 生成的nginx软件的Makefile文件就在当前目录下,自己可以ls查看一下。
5.编译和安装nginx
得到了nginx软件的Makefile文件就可以编译源码了:
[root@ip40 nginx-1.6.2]# ls
auto    CHANGES.ru  configure html     Makefile objs   src
CHANGES conf       contrib   LICENSE man      README
[root@ip40 nginx-1.6.2]# make
[root@ip40 nginx-1.6.2]# make install
#安装完成后,到刚才--prefix指定的安装目录下看看
[root@ip40 nginx-1.6.2]# cd /usr/local/nginx
[root@ip40 nginx]# ls
conf  html logs  sbin
niginx服务器的安装目录中包含了conf,html,logs,sbin四个目录:
(1)conf目录
[root@ip40 conf]# ls
fastcgi.conf           koi-win            scgi_params
fastcgi.conf.default   mime.types         scgi_params.default
fastcgi_params         mime.types.default  uwsgi_params
fastcgi_params.default nginx.conf         uwsgi_params.default
koi-utf                nginx.conf.default  win-utf
conf目录存放了nginx的所有配置文件,其中nginx.conf是Nginx服务器的主配置文件,其他配置文件是用来配置nginx相关功能的。在这个目录下所有的配置文件都有对应的以.default结尾的默认配置文件,方便我们将配置过的.conf文件回复到初始状态。
(2)html目录
[root@ip40 html]# ls
50x.html  index.html
html目录中存放了Nginx运行过程中调用的html静态网页文件,我们自定义的网页文件都要放到这里才能解析。
 (3)  logs目录
logs目录存放Nginx服务器日志文件的,目前Nginx服务器没有启动,所以目录是空的。
 (4) sbin目录
[root@ip40 sbin]# ls
nginx
sbin目录中有一个nginx文件,这是nginx服务器的主程序。

打开nginx的配置文件修改user指令(nginx.conf配置文件在conf目录下):
vim conf/nginx.conf
把user   nobody这行中的nobody改成刚才创建的www用户 , 然后保存退出。

修改nginx安装目录(/usr/local/nginx是安装时指定的目录)的权限,让www用户能访问
 chown  -R www:www     nginx
 chmod       u+w   nginx


6.Nginx服务器的启动/停止/重启
6.1 nginx服务的启动:
(nginx服务器启动必须用超级用户root权限)
[root@ip40 nginx]# cd /usr/local/nginx/sbin
[root@ip40 sbin]# ./nginx-h   (-h参数是列出帮助信息)
nginx version: nginx/1.6.2
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-gdirectives]

Options:
 -?,-h        : thishelp                     #显示该帮助信息
 -v           : show version and exit  #打印版本和退出
 -V           : show version and configure options thenexit   #打印版本和配置选项然后退出
 -t           : test configuration and exit  #测试nginx配置文件是否有语法错误和退出
 -q           : suppress non-error messages during configuration testing #在测试nginx配置文件是否有语法错误过程中不会显示非错误的消息
  -ssignal    : send signal to a master process: stop, quit, reopen,reload  #发送信号到主进程
  -pprefix    : set prefix path (default: /usr/local/nginx/) #指定nginx服务器所在的路径前缀

你可能感兴趣的:(nginx)