IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Nginx安装及基础知识 -> 正文阅读

[PHP知识库]Nginx安装及基础知识


Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
专为性能优化而开发,支持5万个并发连接数。

正向代理: 在浏览器端进行配置,然后访问目标端的方式。经过代理服务器然后访问目标端,访问端口为目标端实际端口号。
反向代理: 不需要在浏览器端(客户端)进行任何配置,经过反向代理服务器访问目标端的方式。注:配置信息在反向代理服务器中,对外暴露端口非目标端实际端口号。
负载均衡: 客户端发送多个请求到服务器,由代理服务端对请求进行分发,分发到不同的服务器上。
动静分离: 将动态页面和静态页面由不同的服务器来解析,加快解析速度,降低单个服务器的压力。静态资源:html、css、js 动态资源:jsp、servlet

Nginx安装

yum安装:

yum install -y nginx

安装包安装(推荐):

  1. 安装依赖:pcre-8.37.tar.gz、openssl-1.0.1t.tar.gz、zlib-1.2.8.tar.gz、gcc-c++-4.8.5-4.tar.gz
yum install gcc-c++                   #安装C++编译环境
yum install pcre pcre-devel           #正则表达式库
yum install zlib zlib-devel           #数据压缩
yum install openssl openssl-devel     #密码库
  1. 下载nginx
    nginx下载路径:http://nginx.org/en/download.html
  2. 安装nginx
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1/
./configure
make && make install
./nginx -v
  1. 端口设置

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd -add-service=http --permanent
Sodu firewall-cmd –add-port=80/tcp –permanent

重启防火墙

firewall-cmd –reload

Nginx基础命令

进入nginx的目录中执行命令
1.查看版本

./nginx –v

2.启动nginx

./nginx

3.关闭nginx

./nginx –s stop

4.重新加载

./nginx –s reload

Nginx配置文件

位置:/usr/local/nginx/conf/nginx.conf或/etc/nginx/nginx.conf
配置文件组成(三部分)

  1. 全局块
    从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置命令。
worker_processes  1;		值越大,可支持的并发处理量也越多。
  1. events块
    涉及的指令主要影响nginx服务器与用户的网络连接
events {
	worker_connections  1024;
}
  • 支持的最大连接数。
  1. http块
  • a) http全局块
  • b) server块
    • i. 全局server
    • ii. Location

Nginx配置实例

一、反向代理

配置一个tomcat环境

  1. 在host文件中添加内容
    Windows:C:\Windows\System32\drivers\etc\hosts
    Linux:/etc/hosts
192.168.10.10 www.nginx.com
  1. 在nginx.conf修改http块下的server块下的全局server中。
listen       80; 
server_name  localhost;  # localhost改为代理IP – 192.168.10.10

location / { 
     proxy_pass http://127.0.0.1:8080; # 添加目标服务器网址
     root   html;
     index  index.html index.htm;
    }
  1. 测试
    浏览器访问www.nginx.com,跳转到http://127.0.0.1:8080
    切记端口一定要放开,我已然放了这个错误,嘿嘿。

二、反向代理(2)

  1. 准备
    两个tomcat,一个8080,一个8081端口。
    两个tomcat下分别建不同的页面,以便测试。
    通过不同的地址,访问不同的tomcat。
    监听9001,然后到不同的页面中去。
  2. 配置nginx.conf
    在nginx.conf修改http块下的server块下的全局server中。
listen       9001;   # 监听端口
server_name  localhost;   # localhost改为代理IP – 192.168.10.10
# 下面采用正则表达式写法
location ~ /edu/ {
     proxy_pass http://www.nginx.com:8080;
}
location ~ /vod/ {
     proxy_pass http://www.nginx.com:8081;
}
  1. 测试
  2. 补充
    格式:
location [=|~|~*|^~] {
	...
}

a) = 用于不含正则表达式的url前,要求请求字符串与url严格匹配。
b) ~ 用于表示url包含正则表达式,且区分大小写。
c) ~*用于表示url包含正则表达式,且不区分大小写。
d) ^~用于包含正则表达式的url前,要求nginx服务器找到标识url和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则url和请求字符串作匹配。

三、负载均衡

  1. 准备两个服务。
  2. 配置nginx.conf
    在nginx.conf修改http块下的server块下的全局server中。
http {
……
	upstream myserver{
		ip_hash;
		server 192.168.20.21:8080 weight=1;
		server 192.168.20.22:8081 weight=1;
		#fair;  # 此行注释,只表明格式
	}
	……
	server {
    	location / {
			listen 
			server_name 
        	proxy_pass http://myserver;
			proxy_connect_timeout 10;
        }
	}
}
  1. 策略(参考2的格式)

a) 轮询(默认)
b) Weight(权重,默认值1,值越高,分配的用户越多)
c) Ip_hash(同访问下,第一次访问某个IP,之后便一直访问某个IP)
d) fair(根据后端服务器的响应时间来分配,响应短的优先分配)

四、动静分离

  1. 什么是动静分离

把动态请求和静态请求分离开来。
a) 纯粹把静态文件独立成单独的域名,放在独立的服务器上。
b) 把动态和静态文件混合在一起发布,通过nginx来分开。

  1. 准备
    在系统中准备一些静态资源
  2. 配置nginx.conf
listen       90;   # 修改端口
server_name  192.168.20.29;   # 改为代理IP
# 下面采用正则表达式写法
location /www/ {
	root /data/;
	index index.html index.htm;
}
location /image/ {
	root /data/;
	autoindex on;
}
  1. 测试
    访问192.168.17.129/image/a.jgp
    访问192.168.17.129/www/a.html
  2. 另有参数,还需补充

五、高可用集群

在这里插入图片描述

  1. 准备
    需要两台服务器192.168.17.129和192.168.17.131
    分别安装nginx
    在两台服务器安装keepalived
    可以使用压缩包解压缩安装:
# 下载keepalived地址:
# http://www.keepalived.org/download.html
# 解压安装:
tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/
yum install -yopensslopenssl-devel  #需要安装一个软件包
cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived
make && make install

也可以使用yum命令直接安装(此次使用):

yum install keepalived -y
  1. 配置keepalived.conf文件
    /etc/keepalived/keepalived.conf
    需要在两台nginx服务器上都安装keepalived,文件内容配置Keepalived
  2. 启动主从服务器
    启动nginx:./nginx
    启动keepalived:systemctl start keepalived
  3. 访问测试
    两台同启测试,一台故障测试。

六、Nginx并发计算

最大并发数计算:
静态访问:每个worker的最大连接数*worker数/2
反向代理:每个worker的最大连接数*worker数/4

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:26:21  更:2021-09-08 10:27:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:19:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码