liujjun 发表于 2018-11-10 11:59:40

CentOS7编译安装nginx1.8.1

1.Nginx介绍:  
Nginx是一款轻量级的Web
  
服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄
  
罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамбле
  
р)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表
  
现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
  

  
2.软件安装环境:
  
操作系统版本:CentOS
  
Linux release 7.3.1611 (Core)
  
nginx软件版本:nginx/1.8.1
  

  
3.装Nginx所需环境
  
3.1.更换国内YUM源,提高基础软件安装速度:
  
mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak
  
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  
yum makecache
  

  
3.2.gcc安装
  
安装 nginx
  
需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
  
yum install -y gcc-c++
  

  
3.3.PCRE pcre-devel 安装
  
PCRE(Perl
  
Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的
  
http 模块使用
  
pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发
  
的一个二次开发库。nginx也需要此库。
  
yum install -y pcre pcre-devel
  

  
3.4.zlib 安装
  
zlib
  
库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以
  
需要在 Centos 上安装 zlib 库。
  
yum install -y zlib zlib-devel
  

  
3.5.OpenSSL 安装
  
OpenSSL
  
是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,
  
并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上
  
传输http),所以需要在Centos安装OpenSSL库。
  
yum install -y openssl openssl-devel
  

  
4.下载Nginx软件包
  
4.1.可以直接下载nginx的tar.gz安装包,然后再上传服务器安装。
  
下载地址:
  
在此推荐使用wget命令下载:
  
wget -c https://nginx.org/download/nginx-1.8.1.tar.gz
  

  
4.2.查看下载的nginx安装包(源码包)
  
ls -l
  

  
5.安装nginx软件包
  
5.1.进入nginx所在目录进行解压:
  
tar xf nginx-1.8.1.tar.gz
  
ll
  
cd nginx-1.8.1/
  

  
5.2.创建nginx用户和组:
  
groupadd nginx
  
useradd -g nginx -s /sbin/nologin -M nginx
  

  
5.3.Nginx配置:
  
5.3.1.使用默认配置:
  
./configure       //检测安装平台的目标特征。
  

  
5.3.2.使用自定义配置:
  
./configure --user=nginx --group=nginx --prefix=/app/nginx1.8.1 \
  
--with-http_gzip_static_module --with-http_stub_status_module \
  
--with-http_ssl_module
  
echo $?         //检查配置是否成功
  

  
5.4.编译及安装:
  
make
  
//用来编译,它从Makefile中读取指令,然后编译。
  
echo $?         //检查编译是否成功
  
make install   //用来安装,它也从Makefile中读取指令,安装到指定的位置。
  
echo $?      //检查安装是否成功
  

  
5.5.创建软链接:
  
ln -s nginx1.8.1 nginx
  

  
5.6.检查配置文件ngnix.conf的正确性:
  
/app/nginx/sbin/nginx -t
  

  
5.7.启动nginx:
  
/app/nginx/sbin/nginx
  

  

  
6.nginx配置及运行情况检查
  
6.1.查看nginx的版本:
  
/app/nginx/sbin/nginx -v
  

  
6.2.查看nginx的编译参数:
  
/app/nginx/sbin/nginx -V
  

  
6.3.查看nginx进程及端口:
  
ps -ef |grep nginx
  

  
6.4.netstat -anlp |grep nginx
  

  
6.5.测试访问:
  

  
7. Nginx 常用的几个命令:
  
/app/nginx/sbin/nginx -s reload            // 重新载入配置文件
  
/app/nginx/sbin/nginx -s reopen            // 重启 Nginx
  
/app/nginx/sbin/nginx -s stop             // 停止 Nginx
  

  

  
8.附加说明:nginx编译的configure选项
  
configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许
  
使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,
  
执行结束时,它会创建一个Makefile文件。
  

  
nginx的configure命令支持以下参数:
  

  
--prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用
  
/usr/local/nginx。
  
--sbin-path=path 设置nginx的可执行文件的路径,默认为user/sbin/nginx.
  
--conf-path=path 设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令
  
行中的-c选项。默认为prefix/conf/nginx.conf.
  
--pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件
  
名,在nginx.conf配置文件中使用PID指令。默认情况下,文件名为prefix/logs/nginx.pid。
  
--error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名
  
,在nginx.conf配置文件中 使用的error_log指令。默认情况下,文件名为prefix/logs/error.log。
  
--http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文
  
件名,在nginx.conf配置文件中使用 的access_log指令。默认情况下,文件名为prefix/logs/access
  
.log。
  
--user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中
  
使用的user指令。默认的用户名是nobody。
  
--group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件
  
中使用的user指令。默认的为非特权用户。
  
--with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用
  
select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
  
--with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法
  
。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
  
--without-http_gzip_module 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
  
--without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。
  
--without-http_proxy_module 不编译http_proxy模块。
  
--with-http_ssl_module 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的
  
OpenSSL库是必需的。
  
--with-pcre=path 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载
  
并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和ngx_htt
  
p_rewrite_module 模块中。
  
--with-pcre-jit 编译PCRE包含“just-in-timecompilation”(1.1.12中, pcre_jit指令)。
  
--with-zlib=path 设置的zlib库的源码路径。要下载从zlib(版本1.1.3 - 1.2.5)的并解压。其余
  
的工作是Nginx的./configure和make完成。ngx_http_gzip_module模块需要使用zlib 。
  
--with-cc-opt=parameters 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE
  
库时需要使用:--with-cc-opt="-I/usr/local/include。.如需要需要增加 select()支持的文件数量:
  
--with-cc-opt="-DFD_SETSIZE=2048"。
  
--with-ld-opt=parameters 设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的
  
PCRE库,应指定:--with-ld-opt="-L/usr/local/lib"。


页: [1]
查看完整版本: CentOS7编译安装nginx1.8.1