CentOS 7.6环境下Nginx1.23.3下载安装配置使用教程

一、前言

这篇文章主要介绍了CentOS 7.6环境下Nginx下载安装配置使用教程,学习nginx的朋友可以参考一下

二、下载

使用如下命令进行下载

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

三、安装nginx需要的环境库

项目首先我们需要安装gcc、gcc-c++、zlib、pcre 和openssl。

判断?包名是否安装

rpm -q ?包名

3.1 安装gcc gcc-c++

yum install -y gcc gcc-c++

3.2 下载安装pcre

 cd /usr/local/wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gztar -zxvf pcre-8.45.tar.gzcd pcre-8.45./configuremake && make install

3.3 下载安装openssl

 cd /usr/local/wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificatetar -zxvf openssl-1.1.1t.tar.gzcd openssl-1.1.1t./configmake && make install

注:wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz 后面记得一定加上–no-check-certificate,不然要报错。显示www.openssl.org上颁发的证书已经过期无法验证

3.4 下载安装zlib

 cd /usr/local/wget http://zlib.net/zlib-1.2.13.tar.gztar -zxvf zlib-1.2.13.tar.gzcd zlib-1.2.13./configuremake && make install

四、安装nginx

4.1安装配置

 cd /usr/local/
wget http://nginx.org/download/nginx-1.23.3.tar.gztar -zxvf nginx-1.23.3.tar.gz -C /usr/local/cd nginx-1.25.2./configure  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.45  --with-openssl=/usr/local/opensshmake && make install

4.2创建ssl的软链接,不然启动nginx会报错

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

五、启动Nginx

5.1 启动Nginx

/usr/local/nginx/sbin/nginx

测试一下nginx,从别台机器访问一下服务器的IP,出现“Welcome to nginx!”页面就说明成功了;如果访问不到页面但是可以ping通服务器的话可能是开启了防火墙,关闭就行。

5.2 关闭防火墙

systemctl stop firewalld.service

5.3 关闭防火墙开机自启

systemctl disable firewalld.service

5.4 停止nginx服务

/usr/local/nginx/sbin/nginx –s stop

5.5 强制关闭nginx服务

pkill nginx

5.6 配置nginx开机自启动

在/usr/lib/systemd/system路径下创建一个nginx的服务名称,这边设置为nginx.service

cd /usr/lib/systemd/system
vim 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  #更换成自己安装nginx的路径
ExecStartPre=/usr/local/nginx/sbin/nginx -t #更换成自己安装nginx的路径
ExecStart=/usr/local/nginx/sbin/nginx #更换成自己安装nginx的路径
ExecReload=/usr/local/nginx/sbin/nginx -s reload #更换成自己安装nginx的路径
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target

配置完保存即可。

配置开机自启动

systemctl enable nginx.service

查看是否设置成功

systemctl list-unit-files | grep nginx
启动:systemctl start nginx.service
关闭:systemctl stop nginx.service

六、介绍一下Nginx的配置

6.1 nginx.conf配置文件介绍

#nginx配置
#user  nobody;
worker_processes  1;    #服务器并发处理服务关键配置#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;   #最大连接数为 1024.
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';include       mime.types;default_type  application/octet-stream;sendfile        on;tcp_nopush     on;keepalive_timeout  65;#gzip  on;  #http头压缩#正向代理配置server {    listen       8080;  # 代理监听端口resolver 114.114.114.114; #代理DNS配置#charset koi8-r;access_log  /home/lich/logs/fproxy.access.log;  #accesslog输出路径error_log /home/lich/logs/fproxy.error.log;     #errorlog输出路径location / {proxy_pass $scheme://$host$request_uri;     # 配置正向代理参数proxy_set_header Host $http_host;           # 解决如果URL中带"."后Nginx 503错误proxy_buffers 256 4k;   # 配置缓存大小proxy_max_temp_file_size 0;     # 关闭磁盘缓存读写减少I/Oproxy_connect_timeout 30;       # 代理连接超时时间# 配置代理服务器HTTP状态缓存时间proxy_cache_valid 200 302 10m;proxy_cache_valid 301 1h;proxy_cache_valid any 1m;}}#反向代理配置server {listen       80;server_name  test.test.com;   #代理转发域名配置access_log  /home/lich/logs/rproxy.access.log;error_log /home/lich/logs/rproxy.error.log;location / {proxy_pass http://172.16.113.1:8001;    #代理到后段实际应用服务器地址index  index.html index.htm index.jsp;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.htmlerror_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

6.2 监听配置用法

listen *:80 | *:8080        #监听所有80端口和8080端口
listen IP_address:port     #监听指定的地址和端口号
listen IP_address          #监听指定ip地址所有端口
listen port                 #监听该端口的所有IP连接

6.3 server_name:基于名称的虚拟主机配置

语法格式如下:

 server_name   name ...;

对于name 来说,可以只有一个名称,也可以有多个名称,中间用空格隔开。而每个名字由两段或者三段组成,每段之间用“.”隔开。

server_name test.com www.test.com

可以使用通配符“*”,但通配符只能用在由三段字符组成的首段或者尾端,或者由两端字符组成的尾端。

server_name *.test.com www.test.*

还可以使用正则表达式,用“~”作为正则表达式字符串的开始标记。

server_name ~^www\d+\.test\.com$;

6.4 server_name:基于IP地址的虚拟主机配置

#语法结构和基于域名匹配一样,而且不需要考虑通配符和正则表达式的问题。

server_name 192.168.1.1

6.5 proxy_pass

该指令用于设置被代理服务器的地址。可以是主机名称、IP地址加端口号的形式

# proxy_pass URL;# URL 为被代理服务器的地址,可以包含传输协议、主机名称或IP地址加端口号,URI等。
proxy_pass  http://www.test.com/uri;

6.6 index

该指令用于设置网站的默认首页。

#index  filename ...;
#后面的文件名称可以有多个,中间用空格隔开。
index  index.html index.jsp;

七、 ngxin负载均衡

7.1 轮询算法负载均衡

upstream OrdinaryPolling {server 172.16.113.1:8081;server 172.16.113.1:8082;
}
server {
listen       80; 
server_name  test.test.com;access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;location / {proxy_pass http://OrdinaryPolling;index  index.html index.htm index.jsp;# deny ip# allow ip}
}

7.2 基于比例加权轮询负载均衡


upstream OrdinaryPolling {server 172.16.113.1:8081 weight=2;server 172.16.113.1:8082 weight=5;
}
server {
listen       80; 
server_name  test.test.com;access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;location / {proxy_pass http://OrdinaryPolling;# index  index.html index.htm index.jsp;# deny ip# allow ip}
}

7.3 基于IP路由负载均衡

在 upstream 指令块中增加了ip_hash 指令。该指令就是告诉 nginx 服务器,同一个 IP 地址客户端发送的请求都将分发到同一个 Tomcat 服务器进行处理。

upstream OrdinaryPolling {server 172.16.113.1:8081 weight=2;server 172.16.113.1:8082 weight=5;ip_hash;
}
server {
listen       80; 
server_name  test.test.com;
access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;
location / {proxy_pass http://OrdinaryPolling;# index  index.html index.htm index.jsp;# deny ip# allow ip}
}

7.4 基于服务器响应时间负载均衡

根据服务器处理请求的时间来进行负载,处理请求越快,也就是响应时间越短的优先分配。

upstream OrdinaryPolling {server 172.16.113.1:8081 weight=2;server 172.16.113.1:8082 weight=5;fair;
}
server {
listen       80; 
server_name  test.test.com;access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;location / {proxy_pass http://OrdinaryPolling;# index  index.html index.htm index.jsp;# deny ip# allow ip}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/63188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程控制相关 API-创建进程、进程分离、进程退出、进程阻塞

进程控制相关 API p.s 进程控制中的状态转换 相关 API,用户很少用到,在此不提。 一般来说,这些内核标准 API,在执行出错(可能是资源不够、权限不够等等)会返回负值(比如 -1)&#…

【Qt QAxObject】使用 QAxObject 高效任意读写 Excel 表

1. 用什么操作 Excel 表 Qt 的官网库中是不包含 Microsoft Excel 的操作库,关于对 Microsoft Excel 的操作库可选的有很多,包含基于 Windows 系统本身的 ActiveX、Qt Xlsx、xlsLib、LibXL、qtXLS、BasicExcel、Number Duck。 库.xls.xlsx读写平台Qt Xls…

JVM的故事——类文件结构

类文件结构 文章目录 类文件结构一、概述二、无关性基石三、Class类文件的结构 一、概述 计算机是只认由0、1组成的二进制码的,不过随着发展,我们编写的程序可以被编译成与指令集无关、平台中立的一种格式。 二、无关性基石 对于不同平台和不同平台的…

二分图最大完美匹配

嗯 想不通就是二分之后的点,寻找左边的点和右边的点的保证两条边的顶点不相同的最大边数 匈牙利算法 O(mn) 左边寻找和右边相邻的边,如果右边还没有和左边进行连线,那么匹配成功。如果右边已经进行连线,那么考虑左边是否能更改连…

docker命令学习

docker vscode插件出现的问题 docker命令 docker images (查看所有的镜像) docker ps -a (查看所有的容器) docker ps (查看运行的容器) docker run imageID docker run --gpus all --shm-size8g -it imag…

网络安全体系架构介绍

网络安全体系是一项复杂的系统工程,需要把安全组织体系、安全技术体系和安全管理体系等手段进行有机融合,构建一体化的整体安全屏障。针对网络安全防护,美国曾提出多个网络安全体系模型和架构,其中比较经典的包括PDRR模型、P2DR模…

Revit SDK 介绍:AvoidObstruction 避免碰撞

前言 这个例子介绍如何让碰撞在一起的管道避免碰撞,即对管道进行调整。 内容 调整前: 调整后: 从结果来看,所有的碰撞都被调整了。作为一个例子,不会去考虑是否合理,仅仅是展示了一下 Revit API 的能…

我开课了!《机器学习》公益课9月4日开课

我是黄海广,大学老师,我上的一门课叫《机器学习》,本科生学机器学习有点难,但也不是没有可能,我在摸索中,设计适合本科生的机器学习课程,写了教材,录了视频,做了课件。我…

【Nginx22】Nginx学习:FastCGI模块(四)错误处理及其它

Nginx学习:FastCGI模块(四)错误处理及其它 FastCGI 最后一篇,我们将学习完剩下的所有配置指令。在这里,错误处理还是单独拿出来成为一个小节了,而剩下的内容都放到其它中进行学习。不要感觉是其它的就没用了…

android system_server WatchDog简介

简介 android系统中SystemServer WatchDog的主要作用是监控SystemServer进程的运行状态,防止其卡住或者死锁。 具体来说,watchDog线程会定期去检查SystemServer线程的运行情况。如果发现SystemServer线程超过一定时间未有响应,watchDog会认为SystemServer进程发生了问题,这时…

手写Openfeign实现原理——极简版

文章目录 前言Openfeign实现思路前期准备基本依赖项 开始实现自定义注解自定义代理类定义创建代理对象的工厂InstantiationAwareBeanPostProcessor实现bean的注入OpenInstantiationAwareBeanPostProcessor 自定义 feign接口启动类小结 踩坑记录ImportComponent和Configuration区…

HTTP与SOCKS5的区别对比

在互联网世界中,服务器是一种重要的工具,可以帮助我们提高网络安全性等。今天,我们将重点关注两种常见的技术:HTTP和SOCKS5。让我们深入了解它们的工作原理、用途和优缺点,并通过Python代码示例学习如何使用它们。 HT…

一文了解tcp/ip协议的运行原理

接触代理ip的人都了解https/sock5等ip协议,那么TCP/IP 协议又是什么? 一、什么是TCP/IP 协议? TCP/IP 协议实际上是一系列网络通信协议的一个统称,他负责具体的数据传输工作,核心的两个协议包括TCP以及IP&#xff0c…

Unity3D 如何在ECS架构下,用Unity引擎进行游戏开发详解

前言 Unity3D是一款强大的游戏引擎,它提供了丰富的功能和工具,可以帮助开发者快速构建高质量的游戏。而Entity Component System(ECS)是Unity3D中一种新的架构模式,它可以提高游戏的性能和可扩展性。本文将详细介绍在…

Flink 如何定位反压节点?

分析&回答 Flink Web UI 自带的反压监控 —— 直接方式 Flink Web UI 的反压监控提供了 Subtask 级别的反压监控。监控的原理是通过Thread.getStackTrace() 采集在 TaskManager 上正在运行的所有线程,收集在缓冲区请求中阻塞的线程数(意味着下游阻…

Redis数据结构总结

Redis 是一款开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。Redis 支持多种类型的数据结构,如字符串(String)、哈希(Hashes)、列表(Lists)、集合&…

vue3的面试题

ref里面放对象发生的事情 ref只会对对象的属性进行响应式转换,而不会对对象的原型链上的属性进行转换。如果需要对对象的原型链上的属性进行响应式转换,可以使用reactive函数。 toRefs的适用场景? toRefs是Vue 3中的一个响应式API&#xf…

使用环境中的视觉地标和扩展卡尔曼滤波器定位移动机器人研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

SQL高阶语句

目录 1、概念 1.1、概述 1.2、常见的MySQL高阶语句的概念: 1.3、 SQL高阶语句的作用 2、常用查询 2.1、按关键字排序 2.1.1、概述和作用 2.1.2、 (1)语法 2.1.3、模板表:ky30 ​编辑2.1.4、分数按降序排列 2.1.5、ORDER…

Kafka环境搭建与相关启动命令

一、Kafka环境搭建 点击下载kafka_2.11-2.3.1.tgz文件链接 1、上传kafka_2.11-2.3.1.tgz,解压kafka_2.11-2.3.1.tgz,得到kafka_2.11-2.3.1文件夹 1)上传 #使用mobaxterm将 kafka_2.11-2.3.1.tgz 传入tools文件夹 #用下面代码进入tools文件…