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的详细步骤攻略,希望可以帮到你,谢谢!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos7编译安装nginx的方法步骤 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Linux nginx 配置 location 语法 正则表达式

    location 语法:location [=|~|~*|^~] /uri/ { … } 默认:否 上下文:server 这个指令随URL不同而接受不同的结构。你可以配置使用常规字符串和正则表达式。如果使用正则表达式,你必须使用 ~* 前缀选择不区分大小写的匹配或者 ~ 选择区分大小写的匹配。 确定 哪个location 指令匹配一个特定指令,常规字符串第一…

    Nginx 2023年4月11日
    00
  • Nginx 合并请求连接且加速网站访问实例详解

    下面是对” Nginx 合并请求连接且加速网站访问实例详解 “的完整攻略,包括两条示例说明: Nginx 合并请求连接且加速网站访问实例详解 原理说明 Nginx 的合并请求连接和加速网站访问的原理是,将多个小的 HTTP 请求合并为一个 HTTP 请求,从而减少了 HTTP 请求的数量,提高了网站的访问速度。 示例一:合并多个 JavaScript 文件 …

    Nginx 2023年5月16日
    00
  • Nginx+Keepalived(带Nginx监控脚本)

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0220/151.html?1456381460 Keepalived+ nginx的安装部署  主机:IP->10.252.3.160  nginx已安装OK(省略)备机:IP->10.252.3.161  nginx已安装OK(省略)VIP:10…

    Nginx 2023年4月12日
    00
  • Nginx简介_动力节点Java学院整理

    下面我将详细讲解“Nginx简介_动力节点Java学院整理”的完整攻略,并包含两条示例说明。 Nginx简介 一、什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器,它也可以作为邮件代理服务器使用。Nginx是由Igor Sysoev开发的,第一个版本的公开发布是在2004年。 二、Nginx的优点 高性能:Nginx是一个轻量级的Web服务…

    Nginx 2023年5月16日
    00
  • 虚拟机里的nginx启动不了的问题

    问题:  之前使用虚拟机nginx一直都是正常的, 就在昨天重新配置了一下nginx(其实只注释了反向代理,别的都没动), 重启nginx, 却报错pid为空. 无法启动nginx.   而且重启之前我是使用nginx  -t 检查了OK的, 没有语法错误. 提示信息:   invalid PID number ” in “/run/nginx.pid” …

    Nginx 2023年4月13日
    00
  • 如何配置Nginx的FastCGI缓存大小?

    为了配置Nginx的FastCGI缓存大小,您需要进行以下步骤: 步骤1:检查Nginx和FastCGI模块 首先,您需要检查Nginx和FastCGI模块是否已正确安装并在服务器上运行。您可以通过以下命令检查它们的状态: nginx -V 该命令将显示您的Nginx版本以及已编译的模块列表。如果FastCGI模块不在此列表中,请安装它。 步骤2:配置Fas…

    Nginx 2023年4月19日
    00
  • 详解Nginx反向代理跨域基本配置与常见误区

    下面我来详细讲解一下“详解Nginx反向代理跨域基本配置与常见误区”的完整攻略,包含了两条示例说明。 理解跨域问题 首先,需要了解什么是跨域问题。在Web开发中,是禁止浏览器向不同域名或者不同端口发送请求的。这是为了保证安全,防止恶意网站向其他网站获取数据。但在某些情况下,我们需要在不同的域名或者端口之间来传递数据,这时候就需要使用跨域技术。常用的跨域技术有…

    Nginx 2023年5月16日
    00
  • Nginx服务器相关的一些安全配置建议

    接下来我会为你详细讲解“Nginx服务器相关的一些安全配置建议”的完整攻略,同时提供两个示例说明。 1. 避免公开敏感信息 在Nginx服务器的安全配置中,避免公开敏感信息是非常重要的一项配置。具体来说,我们需要在Nginx的配置文件中做出如下修改: server_tokens off; 这个配置可以禁用服务器的响应信息中显示版本号和操作系统信息。这样可以有…

    Nginx 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部