预备库
pcer:实现正则表达式的解析功能
openssl:实现SSL功能
安装
wget http://nginx. org/download/nginx-1.12.2.tar.gz
tar xvfz nginx-1.12.2.tar.gz
./configure
make
sudo make tall
这是最简单的
Ng
nx
安装方式,没有任何的定制参数
Ng
inx
将会安装到
默认的
“/
usr/local/nginx
/”目录,可执行文件是“/
usr/local
/nginx/sbin/nginx
”,默
认配置文件是
usr/local/nginx/conf/nginx.conf
运行
下面是常见的运行
/usr/local/nginx/sbin/nginx //默认配置文件
/usr/local/nginx/sbin/nginx -c x.conf //指定配置文件来运行
/usr/local/nginx/sbin/nginx -p /opt/nginx //指定完整的工作环境
/usr/local/nginx/sbin/nginx -s stop //立即停止
/usr/local/nginx/sbin/nginx -s quit//处理当前连接 再来stop
/usr/local/nginx/sbin/nginx -s reload//在重启Nginx 重新加载
/usr/local/nginx/sbin/nginx -s reopen//打开日志文件
/usr/local/nginx/sbin/nginx -s reload -c x.conf
#在使用配置文件 x.conf 启动 Nginx 后再重启nginx ,必须使用指定配置文件
/usr/local/nginx/sbin/nginx -s stop -p
#在使用-p启动 Nginx后停止Nginx ,仍然要使用-p参数
-t 或-T 参数可以测试配置文件是否正确,后者同时还会打印出文件内容方便检查
/usr/ local/nginx/sbin/nginx -t
#检查默认的配置文件
/usr/ local/nginx/sbin/nginx -T
#检查默认的配置文件
/usr/local/nginx/sbin/nginx -t -c x.conf
#检查指定的配置文件 x. conf
验证安装
[root@localhost nginx-1.12.2]# ps aux|grep nginx
root 86556 0.0 0.0 20540 616 ? Ss 01:15 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 86558 0.0 0.1 23072 1632 ? S 01:15 0:00 nginx: worker process
root 86598 0.0 0.0 112808 968 pts/3 R+ 01:16 0:00 grep --color=auto nginx
[root@localhost nginx-1.12.2]#
从ps的输出我们可以看到当前共有两个Nginx进程,其中进程号为86556的是master进程,而86558号进程则是worker进程。
定制安装
由于configure的选项很多,本书不能也没有必要完全罗列,仅列出一些个人认为比较重要的选项,其他可参考help或者网络资源。
--prefix=PATH
配置Nginx安装部署的根目录,也就是工作目录。默认值是“/usr/local/nginx/ ”,可以把它改为其他路径,这样就可以在一个系统里安装多个不同用途的NginxR,类似的选项还有--sbin-path、 --conf-path等。例如:
./configure --prefix=/opt/nginx
--with-stream:
启用Nginx的stream模块,让 Nginx能够直接处理TCP/UDP 协议。
--with-thread:
启用Nginx的线程池机制,允许Nginx使用多线程来处理数据。
--with-pcre=DIR
--with-openssl=DIR
虽然Linux系统通常都内置 PCRE、OpenssL库,但有的时候可能版本比较低,功能不完善(更严重的是有bug),所以可以用这两个选项来指定PCRE、OpensSL的源码目录,从而使用最新的版本,例如:
./configure
--with-pcre=/opt/to/pcre-8.33
--with-openssl=/path/to/openssl-1.0.2d
--with-xxx_mdule, --without-xxx_mdule:
--build=NAME:
这个选项是 Nginx 版之后增加的新功能,可以在 Nginx 的版本信息里加入 自定义
的字符串信息 ,比如公司名称、构建日期 源码版本号等,让 nginx -v -V 更加可读。例如,
下面的配置命令为 Nginx 加了构建用户名和构建日期
--with-ld-opt=OPTIONS:
这个选项用来指定编译链接时的额外参数 ,可以链接其他第三方库 ,例如使用 jemalloc
来替代 GCC 内存分配函数:
./configure --with-ld-opt="-ljemalloc"
--add-module=PATH:
--add-dynamic-module=PATH: