欧拉部署nginx的实现步骤

 更新时间:2024年08月06日 11:15:34   作者:运维开发小白丶  
本文主要介绍了欧拉部署nginx的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.下载nginx

下载地址:https://nginx.org/en/download.html

选择稳定版本 下的镜像文件进行下载

在这里插入图片描述

2.解压Nginx包

cd /root/nginx
tar -zxvf nginx-1.26.0.tar.gz
cd nginx-1.26.0

3.安装nginx相关依赖

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

4.生成 Makefile 可编译文件

./configure --with-http_ssl_module --with-http_stub_status_module

参数说明:

  • –prefix=PATH:指定 nginx 的安装目录(默认/usr/local/nginx)
  • –conf-path=PATH:指定 nginx.conf 配置文件路径
  • –user=NAME:nginx 工作进程的用户
  • –with-pcre:开启 PCRE 正则表达式的支持
  • with-http-realip_module:允许改变客户端请求头中客户端 IP 地址
  • –with-file-aio:启用 File AIO
  • –add-module=PATH:添加第三方外部模块

5.编译和安装

# 编译
make
# 安装
make install

默认的安装路径为:/usr/local/nginx

6.启动

cd /usr/local/nginx/sbin
# 启动
./nginx
# 查看进程
ps -ef | grep nginx
# 停止
/usr/local/nginx/sbin/nginx -s stop
# 重启
/usr/local/nginx/sbin/nginx -s restart

7.配置

非https配置

worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;
    
    upstream reverseProxyServer{
        ip_hash;
        #负载均衡应用服务器A: 权重为10,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
        server xxx.xxx.xx.xxx:9090 weight=10 max_fails=2 fail_timeout=10s; 
        #负载均衡应用服务器B: 代理服务器权重为5,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
        server xxx.xxx.xx.xxx:9090 weight=5 fail_timeout=10s max_fails=2;
    }
  
  upstream reverseGrafanaServer{
        ip_hash;
        server xxx.xxx.xx.xxx:3000 weight=10 max_fails=2 fail_timeout=10s;
        server xxx.xxx.xx.xxx:3000 weight=8 max_fails=2 fail_timeout=10s;
    }
  
    server {
        listen       80;
        server_name  xxx.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 30s;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location /{
            proxy_pass http://reverseProxyServer/;
        }
        location /grafana/{
            proxy_buffering on;
            proxy_buffer_size 4k;
            proxy_buffers 8 4M;
            proxy_busy_buffers_size 4M;
            proxy_pass http://reverseGrafanaServer/;
        }
    }
}

https配置

http {
  ...
  server {
        listen 80;
        server_name xxx.com;
        #将请求转成https
        rewrite ^(.*)$ https://$host$1 permanent;
    }
  
    server {
        listen       443 ssl;
        server_name  xxx.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 30s;
        #charset koi8-r;
    
        #ssl证书的pem文件路径
        ssl_certificate  /usr/local/nginx/cert/server.crt;
        #ssl证书的key文件路径
        ssl_certificate_key /usr/local/nginx/cert/server.key;
            ....
    }
}

FAQ:遇到问题总结

问题1:nginx: [emerg] unknown directive “ssl”

解决方法

1.nginx生成 Makefile可编译文件时没有开启ssl,请参考步骤4
2.旧版本配置ssl和新版本不一致

server{
listen 443;
xxx
ssl on;
#ssl证书的pem文件路径
ssl_certificate /usr/local/nginx/cert/server.crt;
#ssl证书的key文件路径
ssl_certificate_key /usr/local/nginx/cert/server.key;
}

应改为

server{
listen 443 ssl;
xxx
#ssl证书的pem文件路径
ssl_certificate /usr/local/nginx/cert/server.crt;
#ssl证书的key文件路径
ssl_certificate_key /usr/local/nginx/cert/server.key;
}

问题2:curl: (60) SSL certificate problem: self signed certificate

解决方法:curl命令向服务器发送https请求, curl https的时候需要加上-k参数

问题3:nginx配了证书显示站点连接不安全

解决方法:我手里有crt和key证书,因为我用crt证书使用openssl命令生成pem证书配置上去的原因
解决方法直接配置crt和key证书就行

到此这篇关于欧拉部署nginx的实现步骤的文章就介绍到这了,更多相关欧拉部署nginx内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何使用Nginx和uwsgi在自己的服务器上部署python的flask项目

    如何使用Nginx和uwsgi在自己的服务器上部署python的flask项目

    Nginx 是一个高性能的 HTTP 和反向代理服务,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,这篇文章主要介绍了如何使用Nginx和uwsgi在自己的服务器上部署python的flask项目,需要的朋友可以参考下
    2023-11-11
  • Nginx部署项目上传文件报错413的解决方法

    Nginx部署项目上传文件报错413的解决方法

    本文主要介绍了Nginx部署项目上传文件报错413的解决方法,报错413是因为Nginx对上传大小做了限制,所以我们需要配置文件,下面就来解决这个问题,感兴趣的可以了解一下
    2024-03-03
  • nginx 多站点配置方法集合

    nginx 多站点配置方法集合

    关于nginx的多站设置,其实和apache很相似,假设我们已经有两个域名,分别是:www.websuitA.com和www.websuitB.com。并且这两个域名已经映射给了IP为192.168.1.1的服务器。
    2011-06-06
  • nginx正向代理的配置和使用教程

    nginx正向代理的配置和使用教程

    本文主要介绍了nginx正向代理的配置和使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Nginx配置proxy protocol代理获取真实ip的全过程

    Nginx配置proxy protocol代理获取真实ip的全过程

    在现代开发中有很多场景需要拿到用户的真实ip,比如安全策略,和地区热点信息推送等功能,但是现在代理很多,用户可能会通过代理访问服务,或者黑客攻击的时候也会使用很多肉机隐藏其真实ip,所以本文给大家介绍了Nginx配置proxy protocol代理获取真实ip的全过程
    2025-09-09
  • 为高负载网络优化Nginx和Node.js的方法

    为高负载网络优化Nginx和Node.js的方法

    如果不先对Nginx和Node.js的底层传输机制有所了解,并进行针对性优化,可能对两者再细致的调优也会徒劳无功。一般情况下,Nginx通过TCP socket来连接客户端与上游应用
    2013-02-02
  • 详解nginx高并发场景下的优化

    详解nginx高并发场景下的优化

    这篇文章主要介绍了详解nginx高并发场景下的优化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • nginx url自动加斜杠及301重定向的问题

    nginx url自动加斜杠及301重定向的问题

    这篇文章主要介绍了nginx url自动加斜杠及301重定向的问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • nginx+tomcat实现Windows系统下的负载均衡搭建教程

    nginx+tomcat实现Windows系统下的负载均衡搭建教程

    下面小编就为大家分享一篇nginx+tomcat实现Windows系统下的负载均衡搭建教程,具有很好的参考价值,希望对大家有所帮助
    2017-12-12
  • nginx七层负载均衡配置详解

    nginx七层负载均衡配置详解

    本文主要介绍了nginx七层负载均衡配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论