编译安装Nginx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译安装Nginx相关的知识,希望对你有一定的参考价值。
如果要安装nginx,可以使用yum或者rpm来安装,但需要配置epel源才能安装。本文主要演示Nginx的编译安装过程。
系统环境:
主机:192.168.10.7 (CentOS 7)
一、安装Nginx所依赖到的程序包所对应的开发包
这里的开发包指的是以"devel"结尾的程序包,为了让Nginx支持URI重写、SSL、zlib压缩功能,则需要分别需要安装pcre-devel、openssl-devel、zlib-devel。
[[email protected] ~]# yum -y install pcre-devel openssl-devel zlib-devel
注意:pcre的全称为perl compatible regular expressions,意为“perl兼容正则表达式”。这里选择安装pcre-devel是为了使Nginx能够支持URI重写功能的rewrite模块,而URI重写是非常常用的功能。pcre的官网为http://www.pcre.org/。
二、编译安装Nginx
Nginx的官网为http://nginx.org/,本文以编译安装nginx-1.10.3为例。
[[email protected] ~]# tar xf nginx-1.10.3.tar.gz [[email protected] nginx-1.10.3]# cd nginx-1.10.3 [[email protected] nginx-1.10.3]# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var /log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_gzip_static_module --with-debug --with-http_stub_status_module [[email protected] nginx-1.10.3]# make -j 4 && make install [[email protected] nginx-1.10.3]# ll /usr/local/nginx/ total 0 drwxr-xr-x. 2 root root 40 Jul 17 10:52 html drwxr-xr-x. 2 root root 19 Jul 17 10:52 sbin
导出nginx程序文件路径。
[[email protected] ~]# vim /etc/profile.d/nginx.sh export PATH=/usr/local/nginx/sbin:$PATH # 修改PATH环境变量 [[email protected] ~]# . /etc/profile.d/nginx.sh [[email protected] ~]# echo $PATH # 查看修改后的PATH变量 /usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
下面是本次编译使用的参数说明(可用./configure --help查看)。
--prefix=PATH set installation prefix # 设置安装目录路径 --conf-path=PATH set nginx.conf pathname # 设置配置文件路径名 --user=USER set non-privileged user for # nginx进程的用户权限 --group=GROUP set non-privileged group for # nginx进程的用户组权限 --error-log-path=PATH set error log pathname # 设置错误日志路径名 --http-log-path=PATH set http access log pathname # 设置访问日志路径名 --pid-path=PATH set nginx.pid pathname # 设置nginx进程的pid文件路径名 --lock-path=PATH set nginx.lock pathname # 设置nginx进程的锁文件路径名 --with-http_ssl_module enable ngx_http_ssl_module # 启用ssl功能 --with-http_gzip_static_module enable ngx_http_gzip_static_module # 启用gzip压缩功能 --with-http_stub_status_module enable ngx_http_stub_status_module # 启用状态信息输出功能 --with-debug enable debug logging # 启用日志排错功能
如果要查看当前使用的Nginx程序在编译时使用的参数,可使用-V选项。
[[email protected] ~]# nginx -V nginx version: nginx/1.10.3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var /log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_gzip_static_module --with-debug --with-http_stub_status_module
三、启动服务并测试
安装完Nginx之后还无法提供web服务,需要启动Nginx才行,具体操作如下。
(1)启动前需要检查nginx配置文件的语法。
[[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
注意:启动前检查配置文件的语法错误很重要,可以防止因为配置错误而导致网站重启或重载配置文件等对用户的影响。
(2)启动服务。
[[email protected] ~]# nginx
(3)查看nginx服务对应的端口是否启动。
[[email protected] ~]# ss -tnl | egrep "^State|80" State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:80 *:* [[email protected] ~]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 16078 root 6u IPv4 268024 0t0 TCP *:http (LISTEN) nginx 16079 nginx 6u IPv4 268024 0t0 TCP *:http (LISTEN)
(4)浏览Nginx提供的web页面。
在Windows下打开浏览器,输入http://192.168.10.7(192.168.10.7为刚才安装Nginx服务的IP地址)。回车后可看到如下内容。
说明Nginx服务搭建成功了。
注意:在本次测试中selinux和iptables是关闭的。
本文出自 “Tab” 博客,请务必保留此出处http://xuweitao.blog.51cto.com/11761672/1948158
以上是关于编译安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章