nginx 编译安装

725 查看

软件包版本:nginx-1.7.10.tar.gz , openssl-1.0.2a.tar.gz, pcre-8.35.tar.gz 系统: linux RHEL 6.5

nginx 安装

linux 系统需要安装必备的开发包,比如 gcc,gcc-c++

  • openssl (支持 https)

前往 https://www.openssl.org/source/ 下载,openssl 版本可能已升级,以目前的版本为例

将压缩文件放到 /opt/package/ 目录

tar -zxvf openssl-1.0.2.tar.gz # 下载并解压,然后 cd 到安装目录,下同

    
    ./config --prefix=/usr/local --openssldir=/usr/local/openssl
    
    make  
    make test
    make install
  • pcre: (支持转发组件)

    ./configure 
    make 

    make install
  • nginx:

        ./configure --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-openssl=/opt/package/openssl-1.0.2a
    
    make &&  make install
    

注意如果 ./configure 提示 error: the HTTP gzip module requires the zlib library... ,可以 yum -y install zlib-devel 或手动安装 zlib-devel,如果不需要此功能,可以在 ./configure 加上--without-http_gzip_module

注意:--with-openssl=/usr/local/openssl 修改 openssl 压缩包的的解压目录,我的测试机为/opt/package/openssl-1.0.2a

参考: 其它 nginx 常用编译选项 开启 http_realip_module 模块

--with-http_realip_module  : nginx 代理后获取真实 ip,

--with-http_stub_status_module --with-http_ssl_module  :支持 https   

启动 nginx,

cd  /usr/local/nginx/sbin

./nginx  & 

启动不报错说明 nginx已经正常运行

解决 error while loading shared libraries: libpcre.so.1的错误
/usr/local/webserver/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决方法:

ln -s /usr/local/lib/libpcre.so.1 /lib  /lib64

其它 nginx 命令参考

nginx -t  # 检查配置文件语法是否正确

nginx -s reload  #重新加载修改后的配置文件

nginx -V  # 查看编译参数

nignx -v  # 查看版本

nginx 自启动

参考:
Linux环境下安装Nginx+Pcre+OpenSSL

Nginx安装

Websites with Nginx on Debian 7 (Wheezy)