centos7编译安装nginx的方法步骤

  

下面是关于centos7编译安装nginx的详细步骤攻略。

1.安装编译nginx所需的依赖库

在安装nginx之前,需要先安装一些编译nginx的依赖库,具体如下:

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

这一步是安装编译nginx必备的库文件。

2.下载nginx源码

下载nginx的源码,网址为:http://nginx.org/download/nginx-1.14.2.tar.gz。

可以使用命令行进行下载:

wget http://nginx.org/download/nginx-1.14.2.tar.gz

3.解压源码并进入文件夹

在下载完成后解压源码并进入文件夹:

tar zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2

4.配置nginx

在进入文件夹后,需要为nginx进行相关的配置,配置文件如下:

./configure \
--prefix=/usr/local/nginx \
--with-stream \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module
  • --prefix:nginx的安装路径,默认为/usr/local/nginx
  • --with-stream:编译nginx的stream模块。
  • --with-http_v2_module:支持http2协议。
  • --with-http_ssl_module:支持ssl协议,即https。
  • --with-http_gzip_static_module:支持静态压缩。
  • --with-http_stub_status_module:支持状态信息查看。

5.编译nginx

完成了配置之后,使用以下命令编译nginx:

make

6.安装nginx

编译完成后,使用以下命令安装nginx:

make install

7.启动nginx

安装完成后,即可使用以下命令启动nginx服务:

/usr/local/nginx/sbin/nginx

需要注意的是,如果查看nginx状态信息,需要在配置文件中打开--with-http_stub_status_module选项,然后使用以下命令:

curl http://127.0.0.1/nginx_status

这样就可以查看到nginx的状态信息了。

另外,如果想要在systemd中启动nginx,需要创建一个nginx.service文件,放在/usr/lib/systemd/system/nginx.service目录下,文件内容如下:

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

示例说明

示例1:设置虚拟主机

配置文件路径:/usr/local/nginx/conf/nginx.conf

# 定义http服务
http {
  # 定义http服务下的server
  server {
    # 监听端口80
    listen       80;
    # 域名
    server_name  www.example.com;

    # 设置首页,默认为index.html
    index index.html;

    # 指定虚拟机目录
    root /var/www/html;

    location / {
      # 访问/index.html就会返回/var/www/html文件夹下的index.html文件
      try_files $uri $uri/ /index.html;
    }
  }
}

# 定义stream服务
stream {
  # 定义stream服务下的server
  server {
    # 监听端口9090,只接受TCP连接
    listen 9090;

    # 发送至TCP远程服务127.0.0.1:9000
    proxy_pass 127.0.0.1:9000;

    # 忽略数据包长度限制
    proxy_buffer_size 64k;
    proxy_connect_timeout 1m;
    proxy_timeout 3h;
    proxy_send_timeout 30s;
    proxy_read_timeout 10s;
  }
}

示例2:启用SSL协议

安装过程中已经开启了--with-http_ssl_module选项,启用HTTP服务的SSL协议,只需要在http模块下添加以下内容:

# 定义http服务
http {
  # SSL协议的相关配置信息
  ssl_certificate      /usr/local/nginx/conf/*.pem;
  ssl_certificate_key  /usr/local/nginx/conf/*.key;
  ssl_session_timeout  5m;
  ssl_protocols  TLSv1.2 TLSv1.3;
  ssl_ciphers HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers on;

  # 定义http服务下的server
  server {
    # 监听端口443
    listen       443 ssl;
    # 域名
    server_name  www.example.com;

    # 设置首页,默认为index.html
    index index.html;

    # 指定虚拟机目录
    root /var/www/html;

    location / {
      # 访问/index.html就会返回/var/www/html文件夹下的index.html文件
      try_files $uri $uri/ /index.html;
    }
  }
}

这样就启用了HTTP服务的SSL协议。需要先获得SSL证书,具体可以参照其他文章中“如何生成SSL证书”的内容。

以上就是centos7编译安装nginx的详细步骤攻略,希望可以帮到你,谢谢!

相关文章