centos 安装 nginx配置ssl 和 获取用户真实ip

安装所需环境

nginx 是用 C语言开发的,建议在Linux上使用,如果是windows用户,也可以使用windows版本。

一. gcc 安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果有 gcc 环境,则不需要安装,命令:

yum install gcc-c++

二. PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

复制代码
yum install -y pcre pcre-devel

三. zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

复制代码
yum install -y zlib zlib-devel

四. OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

复制代码
yum install -y openssl openssl-devel

下载nginx

nginx官网下载

官网地址

wget命令下载

复制代码
wget -c https://nginx.org/download/nginx-1.16.0.tar.gz

我下载的是1.16.0版本,这个是目前的稳定版。

解压

复制代码
tar -zxvf nginx-1.16.0.tar.gz

cd nginx-1.16.0

配置

1.使用默认配置

复制代码
./configure

2.自定义配置(加载常用模块如ssl)

复制代码
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-http_realip_module

编译安装

复制代码
make

make install

注:如果过程中报错,前置库安装完成后,执行 make clean,然后再次重新生成Makefile,make&&make install

查找安装路径:

复制代码
whereis nginx

启动、停止nginx

复制代码
cd /usr/local/nginx/sbin/
 
./nginx
 
./nginx -s stop
 
./nginx -s quit
 
./nginx -s reload

./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。

./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

查询nginx进程:

复制代码
ps aux|grep nginx

重启 nginx

1.先停止再启动 :

对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

复制代码
./nginx -s quit

./nginx

2.重新加载配置文件:

当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:

复制代码
./nginx -s reload

开机自启动

即在rc.local增加启动代码

复制代码
vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx (看你的目录,这是默认的)

设置执行权限:

chmod 755 rc.local

OK,centos7安装nginx简单教程就结束了

获取用户真实ip 添加代理请求头

bash 复制代码
proxy_set_header   Host             $host; 
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
相关推荐
Maple_land5 小时前
Linux进程第五讲:PPID与bash的关联、fork系统调用的原理与实践操作(上)
linux·运维·服务器·centos·bash
NicolasCage6 小时前
解决苍穹外卖WebSocket连接失败的问题
nginx
_OP_CHEN7 小时前
Linux 系统编程:(一)从历史演进到 XShell 远程登录实操
linux·运维·服务器·centos·unix·xshell
维尔切9 小时前
Nginx 反向代理与负载均衡
运维·nginx·负载均衡
风跟我说过她10 小时前
CentOS 7 环境下 MySQL 5.7 深度指南:从安装、配置到基础 SQL 操作
sql·mysql·centos
罗政1 天前
CentOS 7.6 系统源码部署 HivisionIDPhotos
linux·运维·centos
风跟我说过她1 天前
Sqoop的安装与配置
hive·hadoop·经验分享·centos·hbase·sqoop
荣光波比1 天前
RabbitMQ高可用集群搭建教程(基于CentOS 7.9 + Erlang 23.2.7 + RabbitMQ 3.8.8)
运维·centos·rabbitmq·erlang
IT 小阿姨(数据库)1 天前
PostgreSQL通过pg_basebackup物理备份搭建流复制备库(Streaming Replication Standby)
运维·服务器·数据库·sql·postgresql·centos
Justin_191 天前
nginx反向代理与缓存功能
运维·nginx