nginx安装及遇到的问题

 
将采用用root用户安装,采用源代码编译的方式来进行安装。
 

一、傻瓜式安装

 

1.下载nginx、pcre(可使用wget命令下载)

  nginx-1.14.0.tar.gz(版本自选,下载方式在最后)
  pcre-8.42.tar.gz(版本自选,下载方式在最后,注意不要选用pcre2-xx系列版本,好像不兼容,我第一次就是使用pcre2系列版本,编译不了)
 

2.安装编译工具及库文件

2.1 执行以下命令,安装编译工具及库文件(centos系统)

yum -y install make zlib zlib-devel gcc gcc-c++  libtool openssl openssl-devel pcre pcre-devel
 

2.2 离线环境的处理

如果是离线环境,执行以上命令可能会报错。需挂载ios,更换yum源(本文采用centos7.5的ios镜像),具体操作如下:
上传镜像文件至/urs/software文件夹下(路径可自选)
 
创建挂载点
#mkdir /var/cdrom
 
挂载文件
#mount -o loop /usr/software/ CentOS-7-x86_64-DVD-1511.iso   /var/cdrom
 
修改yum源
#cd /etc/yum.repos.d
#mv CentOS-Base.repo CentOS-Base.repo.bak
#cp CentOS-Media.repo CentOS-Media.repo.bak
#vim CentOS-Media.repo
 
nginx安装及遇到的问题
 
 更新yum缓存
#yum clean all  #清除缓存
#yum makecache #建立新缓存
挂载完成,yum测试
#yum list all
再次执行2.1的命令
进行gcc安装
#yum install gcc
安装g++
#yum install gcc-c++
 

3.安装PCRE

 
解压缩pcre
tar -zxvf pcre-8.42.tar.gz
进入安装包目录
# cd pcre-8.42
编译安装 
#  ./configure&&make&&make install
查看pcre版本
# pcre-config --version
 
 

4.安装nginx

解压缩nginx(源码结构参见附录)
tar -zxvf nginx-1.14.0.tar.gz
进入安装包目录
# cd nginx-1.14.0
编译安装 
#  /configure --prefix=/usr/local/nginx  --with-http_ssl_module --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.0h
# make&&make install
查看nginx版本
#  cd /usr/local/nginx/sbin
# ./nginx -V
 
 

5.测试nginx是否安装成功

 

nginx启动

#  cd /usr/local/nginx/sbin
# ./nginx
如果出现以下报错,则代表80端口正在被占用。
 
nginx [emerg] bind() to 0.0.0.0:80 failed(98:address already in use)
 
需要进行如下处理
 
ps -e | grep nginx  #查看是否已经启动了nginx
netstat -ltunp     #查看0.0.0.0:80端口谁占用了
kill -9 <targetPID> #关掉对应的进程
 
浏览器访问如:http://192.168.11.201/
如果能正常显示nginx首页,则表示安装成功
 nginx安装及遇到的问题
或者使用 links http://localhost/ #或者本机的IP地址 访问
如果能正常显示nginx首页,则表示安装成功。
nginx安装及遇到的问题
 

nginx关闭

ps –ef|grep nginx
 nginx安装及遇到的问题
kill -QUIT 主进程号(上面ps命令看到的带master字样的进程号)
 
 
 

二、详细安装

 

1.需下载的文件

以下安装包的下载,参照附录)。下载好后上传到服务器,路径自定义(root/nginx
 nginx安装及遇到的问题
pcre 用于url rewrite。zlib用于gzip压缩。openssl用于后续可能升级到https时使用
 

2.安装编译工具

2.1检查gcc、g++是否安装:

gcc --version
g++ --version

2.2 GCCG++安装

2.2.1联网安装

如果服务器具备联网条件,可以使用联网安装
安装gcc
yum -y install gcc
安装g++
需要注意的是安装的命令是gcc-c++而不是g++
yum -y install gcc-c++

2.2.2离线安装(以下是centos7.2为列,其他版本参照本文最后)

离线安装环境:centos7.2 
解压centos7.2的ios镜像文件。从Packages文件夹中找到如下文件。并上传到服务器。(不包括其中的install.sh)
 nginx安装及遇到的问题
 nginx安装及遇到的问题
 
2.2.3 挂载镜像,更改yum源(参照一)

3.pcre安装

执行如下命令:
# tar -zxvf pcre-8.42.tar.gz
# cd pcre-8.42/
# ./configure
# make
# make install
(也可以使用 ./configure&&make&&make install

4.zlib安装

执行如下命令:
# tar -zxvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11/
# ./configure&&make&&make install

5.openssl安装

执行如下命令:
# tar -zxvf openssl-1.1.0h.tar.gz
# cd openssl-1.1.0h/
# ./config&&make&&make install

6.nginx安装

执行如下命令:
# tar -zxvf nginx-1.14.0.tar.gz
# cd nginx-1.14.0/
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.0h
# make&&make install

7.测试是否安装成功(参照一)

附录:

CentOS6.8离线安装GCChttps://blog.csdn.net/lkl_csdn/article/details/72974595

离线安装需要下载的rpm包有:
ppl-0.10.2-11.el6.x86_64.rpm
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
mpfr-2.4.1-6.el6.x86_64.rpm
cpp-4.4.7-17.el6.x86_64.rpm
kernel-headers-2.6.32-642.el6.x86_64.rpm
glibc-headers-2.12-1.192.el6.x86_64.rpm
glibc-devel-2.12-1.192.el6.x86_64.rpm
libgomp-4.4.7-17.el6.x86_64.rpm
gcc-4.4.7-17.el6.x86_64.rpm
libstdc++-devel-4.4.7-17.el6.x86_64.rpm
gcc-c++-4.4.7-17.el6.x86_64.rpm
 
 
Centos6.8安装:
安装命令: rpm -ivh *.rpm
有些是已安装好的会提示已安装无需在意 继续安装
安装顺序:
 
rpm -ivh kernel-headers-2.6.32-642.el6.x86_64.rpm
rpm -ivh libgomp-4.4.7-17.el6.x86_64.rpm
rpm -ivh libstdc++-devel-4.4.7-17.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm
rpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm
rpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-17.el6.x86_64.rpm
 
测试
gcc -v
 
出现版本信息则说明安装成功!
 
 
 
离线安装环境:centos6.5
 
下载后,把安装包解压到服务器上,找到以下安装包,按顺序执行安装
 
nginx安装及遇到的问题
 
#rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
 
#rpm -ivh mpfr-2.4.1-6.el6.i686_64.rpm
 
#rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm
 
#rpm -ivh libgompcdec-1.2.6-6.1.el6.x86_64.rpm
 
#rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm
 
#rpm -ivh glibc-devel-2.12-1.132.el6.x86_64.rpm
 
#rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm
 
#rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm
 
安装遇到问题也可以下命令强制安装
 
#rpm –Uvh *.rpm --nodeps --force
 
 
 

离线安装gcc(CentOS7)(https://www.cnblogs.com/sybblogs/p/5717392.html)

安装Redis时,需要使用gcc。如果系统是联网的,那么直接使用如下命令联网安装。
yum -y install gcc
但是如果系统不可联网,那么就需要一种离线安装的方式了。步骤如下:
1. 从CentOS7的系统安装镜像中取出需要的rpm包(也可以通过别的方式获取):解压镜像文件,进入"Packages"目录,里面很多rpm包,取出如下几个:
nginx安装及遇到的问题
mpfr-3.1.1-4.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
kernel-headers-3.10.0-123.el7.x86_64.rpm
glibc-headers-2.17-55.el7.x86_64.rpm
glibc-devel-2.17-55.el7.x86_64.rpm
cpp-4.8.2-16.el7.x86_64.rpm
gcc-4.8.2-16.el7.x86_64.rpm
nginx安装及遇到的问题
2. 将这些包上传到待安装的系统中,按如下顺序执行安装命令:
nginx安装及遇到的问题
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-123.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-55.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-55.el7.x86_64.rpm
rpm -ivh cpp-4.8.2-16.el7.x86_64.rpm
rpm -ivh gcc-4.8.2-16.el7.x86_64.rpm
nginx安装及遇到的问题
也可以使用如下命令统一安装:
rpm -Uvh *.rpm --nodeps --force
3. 都安装成功后,验证
gcc -v
 
 
Zlib下载地址:http://www.zlib.net/
nginx安装及遇到的问题
 
nginx安装及遇到的问题
nginx的下载地址:http://nginx.org/download/
nginx源码结构:
了解一下nginx源码文件结构:
contrib           ---geo2nginx模块
Configure       ---该文件包含编译Nginx所需的所有配置细节和参数。 执行该文件将创建一个Makefile。
conf              ---Nginx配置文件,如nginx.conf和fastcgi.conf。
src                ---nginx的源代码,html,邮件等
man              ---Nginx的所有手册页
html              ---网站根位置默认配置文件index.html和50x.html文件。
Auto              ---包含不同的配置选项,像那些将被默认安装模块的模块文件,选项文件,其中包括不同的配置选项,等等。
 
 
 
注:以上资料根据多份资料整理。
 
参考资料如下: