nginx安装

如何查看已经安装nginx的编译选项,通过nginx -V

一、添加运行nginx服务进程的用户

添加用户组:groupadd -r nginx
添加属于某个用户组的用户:useradd -r -g nginx nginx

二、下载nginx源码

curl -O http://nginx.org/download/nginx-1.10.2.tar.gz

三、解压nginx源码包

tar -zxvf nginx-1.10.2.tar.gz

四、编译nginx

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-http_realip_module

ngx_http_v2_module模块(1.9.5)提供了一种用于支持HTTP/2,并且取代的ngx_http_spdy_module模块。
默认情况下不构建此模块,应使用--with-http_v2_module配置参数启用它。

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-http_realip_module

安装pcre依赖,安装OpenSSL依赖,安装zlib依赖

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-http_realip_module --with-pcre=/home/ygk1992/pcre-8.41 --with-openssl=/home/ygk1992/openssl-1.0.0a --with-zlib=/home/ygk1992/zlib-1.2.11

注意:

  1. --with-pcre=指定pcre源码包路径(注意是解压之后的源码包路径,不需要安装)
  2. --with-zlib=指定zlib源码包路径(注意是解压之后的源码包路径,不需要安装)
  3. --with-openssl=指定openssl源码包路径(注意是解压之后的源码包路径,不需要安装)

五、把nginx添加到环境变量中

在/etc/profile 中加入:

`export NGINX_HOME=/usr/local/nginx`

`export PATH=$PATH:$NGINX_HOME/sbin`

保存,
执行 source /etc/profile ,使配置文件生效。

六、查看某个端口是否被占用

lsof -i :port命令,port(端口号)是在0-65535范围内整数。

例如:查看nginx80端口是否被占用,lsof -i:80

Starting nginx (via systemctl): Job for nginx.service failed because a configured resource limit was exceeded. See "systemctl status nginx.service" and "journalctl -xe" for details.
[FAILED]

八、如何设置nginx开机启动和chkconfig

  1. 首先在Linux系统的/etc/init.d目录创建nginx文件,使用如下命令:

    vim /etc/init.d/nginx

然后把http://wiki.nginx.org/RedHatNginxInitScript网站的内容复制到/etc/init.d/nginx中。

注意修改:

nginx='/usr/sbin/nginx'修改为nginx执行程序的路径。
NGINX_CONF_FILE=”/etc/nginx/nginx.conf” 修改成配置文件的路径。
pidfile=/var/run/nginx.pid 修改为何nginx服务启动时,配置文件中设置的pid。 ####

保存脚本文件后设置文件的执行权限:

chmod a+x /etc/init.d/nginx

然后,就可以通过该脚本对nginx服务进行管理了:

/etc/init.d/nginx start
/etc/init.d/nginx stop
  1. 使用chkconfig进行管理:

上面的方法完成了用脚本管理nginx服务的功能,但是还是不太方便,比如要设置nginx开机启动等。这时可以使用chkconfig来设置。

先将nginx服务加入chkconfig管理列表:

chkconfig --add /etc/init.d/nginx

加完这个之后,就可以使用service对nginx进行启动,重启等操作了。

service nginx start
service nginx stop

设置终端模式开机启动:

chkconfig nginx on