Nginx安装部署
下载
官网下载即可,按操作系统可分为windows版本的和linux\unix版本的。
按照适用场景又分为:development(最新版)、stable(稳定版)、legacy(历史版本)
第一列CHANGES-x.x,链接到的文件内容主要是这个主要版本相对以前的版本的功能上的改变
第二列nginx-x.x.x,链接到可在linux\unix系统环境上使用的的安装包,为tar.gz格式
第三列pgp,链接到的文件内容是第二列的安装文件的pgp校验码
第四列nginx/Windows-x.x.x,链接到可在windows系统环境上使用的的安装包,为zip格式
第五列pgp,链接到的文件内容是第四列的安装文件的pgp校验码
windows下安装
下载安装包,并解压缩。解压缩后的文件夹即为nginx软件。
下面主要讲述linux\unix下nginx的安装部署.在linux\unix机器上,需要先对nginx的源代码进行编译,然后才能安装。
检查编译和安装条件是否满足
- Linux\unix操作系统, 如RedHat、Centos等,本文以Fedora 16为例,Fedora 基于RedHatLinux,在RadHat终止发行后,其用以取代RadHat在个人领域的应用。
- 10M以上的空闲磁盘空间
- GCC编译器:GNU Compiler Collection
- Automake工具,以完成自动创建makefile的工作
- 其它第三方库,可以在安装Fedora时选择安装,如果没有,则通过如下命令进行在线安装
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel
设置编译及安装目录
创建相关目录:
-
linux下用户软件一般安装在/opt 或者 /usr/local目录下,/opt相当于d:/SoftWare,安装在/opt下的软件,其所有数据、文件等都在同一目录下,例如在此目录下安装了一个第三方大型游戏软件,当你不需要是可以直接rm -rf掉,当磁盘目录不足时,也可以直接将/opt目录直接挂载到其它磁盘上使用。而/usr/local则相当于c:/Program Files,用户自己编译的软件会默认安装到这个目录下。这里主要存放那个手动安装的软件,即不是通过yum 或者 apt-get安装的软件。
-
源码可以放在/usr/local/src目录下
-
先在/opt目录下创建一个/opt/nginx_123文件夹
cd /opt
mkdir /opt/nginx_123
再创建一个/opt/nginx_123/nginx_compile_123文件夹
cd /opt
mkdir /opt/nginx_123/nginx_compile_123
-
将从官网下载nginx-1.2.3.tar.gz复制到nginx_123文件夹中并解压缩
cp nginx-1.2.3.tar.gz /opt/nginx_123/
cd /opt/nginx_123/
tar ef nginx-1.2.3.tar.gz
此解压缩会生成一个/opt/nginx_123/nginx-1.2.3/目录
nginx-1.2.3安装包目录简介:
- 进入解压缩后的目录查看详情
cd nginx-1.2.3
- src目录存放的是nginx的源代码
- man目录存放的是nginx的帮助文档,可以通过如下命令获取帮助信息
man nginx
- conf目录存放nginx的用户配置信息,主要配置文件为nginx.conf
- auto目录存放了大量脚本文件,主要用于支持自动脚本程序configure
- configure文件是nginx软件的自动脚本程序。在linux中configure自动脚本程序一般完成两项工作:一是检查环境,根据环境检查结果生成C代码;二是生成编译代码需要的Makefile文件
安装包下的auto目录下目录简介:这个目录下的脚本文件都是作者手工编写的,对于需要写自动脚本的用户来说有很高的参考价值
- ./os目录下的脚本是用来检查环境的(operating system)
- modules脚本文件是用来检查模块的
- options脚本是用来处理脚本参数的
- have\nohava\make\install等脚本是用来输出信息到生成文件makefile的
- feature脚本是为自动脚本本身服务的
运行nginx的自动脚本configure文件,生成makefile文件
configure脚本支持的常用选项:
- 指定安装目录或者数据目录的选项
选项 | 说明 |
---|---|
–prefix=<path> | 用于指定nginx软件的安装目录,默认是/usr/local/nginx/目录 |
–sbin-path=<path> | 用于指定nginx的可执行文件的存放目录。默认为<prefix>/sbin/nginx/目录 |
–conf-path=<path> | 用于指定配置文件nginx.conf的存放目录,默认为软件的安装目录,默认<prefix>/conf目录 |
–pid-path=<path> | 用于指定每次nginx启动后占用的进程号pid的写入文件的路径(在nginx.conf文件中未指定的情况下),默认<prefix>/logs/nginx.pid |
–lock-path=<path> | 用于指定nginx.lock文件的路径,此文件是Nginx服务器的锁文件,默认为/var/lock/目录 |
–err-log-path=<path> | 用于指定存储错误日志的文件的路径(在nginx.conf文件中未指定的情况下),默认为<prefix>/logs/error.log |
–http-log-path=<path> | 用于指定存储错误日志的文件的路径(在nginx.conf文件中未指定的情况下),默认为<prefix>/logs/access.log |
- 编译相关
选项 | 说明 |
---|---|
–builddir=<dir> | 指定编译时的目录 |
–with-cc=<path> | 指定C编译器路径 |
–with-cpp=<path> | 指定C预处理器的路径 |
- 指定用户权限的选项
- 指定需要用到的第三方模块的路径,用于将其编译到Nginx服务器中:
--add-module=<path>
- 声明启用某模块(这些模块默认是禁用的)
选项 | 说明 |
---|---|
–with-mail | 启用POP3/SMTP/IMAP4 Mail代理模块 |
–with-mail_ssl_module | 启用POP3/SMTP/IMAP4 Mail代理模块 |
- 声明禁用某模块(这些模块默认是启用的)
运行configure脚本
cd /opt/niginx_123/nginx-1.2.3
./configure --prefix=/opt/nignx
此脚本正常运行后,会将生成的makefile文件存储在当前目录中
编译和安装
- 进入makefile文件所在的目录,执行编译命令
cd /opt/nginx_123/nginx-1.2.3
make
- 执行安装命令
make install
- 进入安装目录,查看安装好的nginx软件的目录结构
cd /opt/nginx
安装好的nginx软件的目录结构:
- conf目录:主要配置文件为nginx.conf,其它如fastcgi.conf等为各功能配置文件
- html目录:用户可以创建各种html文件,用于指定当http服务器响应了特定状态码时或者特定信息时的返回给客户端的html内容。
- logs目录:pid文件和erros.log和access.log文件的存放目录
- sbin目录:目前只有一个可执行文件nginx,它是Nginx服务器的主程序
重新编译及安装部署
如果nginx软件的源码没有变动,则无需再次生成makefile文件。
清除原安装好的nginx软件
rm -rf /opt/nginx
清除上次编译的遗留文件
cd /opt/nginx_123/nginx-1.2.3
make clean
再次编译安装
make; make install