Nginx安装

本文介绍通过源码编译安装Nginx。

1 环境准备

1.1 操作系统:

Centos 7.6

1.2 编译工具:
  • GCC编译器(GNU Compiler Collection),用来编译(C语言程序)Nginx源代码。
  • Automake工具。自动创建Makefile。
    yum -y install gcc gcc-c++ automake libtool make
    
    不需要安装AutoConf工具。Nginx软件的自动脚本不是用Autoconf工具生成的,而是作者手工编写的。
1.3 插件库:
  • pcre库(Perl Compatible Regular Expressions,Perl兼容正则表达式),Nginx的Http模块要靠它来解析正则表达式。(rewrite模块)。
    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.44.tar.gz 
tar -zxvf pcre-8.44.tar.gz
  • zlib库,用于对Http包的内容做gzip格式的压缩,nginx.conf配置里配置 gzip on(gzip模块)。
    http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
  • openssl库(ssl模块)。Nginx通过它支持HTTPS请求。
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxvf openssl-1.1.1d.tar.gz
1.4 Nginx源码包。

http://nginx.org/en/download.html下载稳定版源码包,目前是nginx-1.16.1。

2 安装Nginx

  • 将nginx源码包放在 /usr/local/src/ 目录下,解压。
  • 进入解压后的源码目录,运行 configure 文件。
    configure是Nginx软件的自动脚本程序,它会根据系统环境生成C代码和编译代码需要的Makefile文件。
    with-http_ssl_module,声明启用http的ssl模块,用于支持https请求。启用这个模块需要安装openssl库。
    with-pcre、with-zlib、with-openssl分别是指定pcre库、zlib库、OpenSSL库源码路径,这样可以在编译Nginx源代码的同时编译第三方库,可以不提前安装对应的第三方库。
  • make,编译源代码。
  • make install,安装Nginx。
cd /usr/local/src
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.44 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-openssl=/usr/local/src/openssl-1.1.1d
make
make install

运行以上默认配置后,nginx会被安装在 /usr/local/nginx 目录下。

cd /usr/local/nginx
ls 

包含如下文件夹:

client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp

nginx 可执行文件在 /usr/local/nginx/sbin目录下,运行 /usr/local/nginx/sbin/nginx 文件,即可按照默认配置(/usr/local/nginx/conf/nginx.conf)启动nginx服务。
默认监听端口是80,启动成功后访问对应服务器的ip,看到如下页面,Nginx安装完成。
Nginx安装_第1张图片

3 安装文件下载

https://gitee.com/thanksm/nginx_learn/tree/master/nginx_setup

你可能感兴趣的:(nginx)