-----------------------------本文章借鉴遇见狂神说---------------------------
一、一个产品出现瓶颈??
在一个产品刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应该就够用了,然后内部的tomcat返回内容给用户。
但是,慢慢的,使用平台的用户越来越多了,并发量慢慢增大了,这时候,一台服务器满足不了我们的需求。
于是,我们开始横向扩展,有增加看服务器,这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器,通过代理服务器来帮助我们转发和处理请求。
我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮助我们转发到不同的服务器节点上。这个过程用户是无感知的,用户并不知道是哪一个服务器返回的结果,我们还希望他可以按照服务器的性能提供不同的权重选择,因此我们选择使用Nginx。
二、什么是Nginx??
Nginx是一个高性能的HTTP和反向代理的web服务器,同时也提供了IMAP/POP3SMTP服务Nginx的特点是占有内存少,并发能力强,事实上,Nginx的并发能力在同类型的网页服务器中表现较好。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx可以支持高达50000个并发连接的响应。
三、Nginx的作用
- HTTP代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理
- Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询:加权轮询, IP hash
- 动静分离:在我们的软件开发中,有些请求时不需要经过后台处理的(比如:html,css,JPG,js等文件),这些不需要经过后台处理的文件称为静态文件,让动态网站里的动态网页根据一定的规则把不变的资源和经常改变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,提供资源响应的速度。
四、Nginx的安装
1. 更新包索引
首先,打开终端并更新您的包索引,以确保您可以获取最新的软件包信息:
sudo apt update
2. 安装 Nginx
接下来,使用以下命令安装 Nginx:
sudo apt install nginx
3. 启动 Nginx
安装完成后,可以使用以下命令启动 Nginx 服务:
sudo systemctl start nginx
4. 设置开机自启
如果希望 Nginx 在系统启动时自动启动,可以使用以下命令:
sudo systemctl enable nginx
5. 检查 Nginx 状态
要检查 Nginx 是否正在运行,可以使用以下命令:
sudo systemctl status nginx
6. 访问 Nginx 默认页面
在浏览器中输入你的服务器 IP 地址(或 http://localhost
),如果一切正常,您应该会看到 Nginx 的默认欢迎页面。
五、Nginx的常用命令
cd /usr/local/nginx/sbin/
./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看nginx进程
六、Nginx的配置文件
在 Ubuntu 上,Nginx 的主要配置文件通常位于以下路径:
主要配置文件
/etc/nginx/nginx.conf
这是 Nginx 的主配置文件,包含了全局设置和其他配置信息。
站点配置文件
此外,Nginx 通常会在以下目录下存放单独的站点配置文件:
-
/etc/nginx/sites-available/
这个目录用于存放可用的站点配置文件。每个文件代表一个虚拟主机的配置。
-
/etc/nginx/sites-enabled/
这个目录包含实际启用的站点配置文件的符号链接。您可以通过将
sites-available
中的配置文件链接到此目录中来启用它们。
操作示例
-
查看主配置文件:
sudo nano /etc/nginx/nginx.conf
-
添加或编辑站点配置: 在
sites-available
目录中创建或编辑配置文件,例如:sudo nano /etc/nginx/sites-available/example.com
-
启用站点: 创建符号链接到
sites-enabled
目录:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
-
测试配置: 在修改配置后,您可以使用以下命令测试 Nginx 配置是否正确:
sudo nginx -t
-
重启 Nginx: 如果配置没有问题,可以重启 Nginx 使更改生效:
sudo systemctl restart nginx
通过以上步骤,您可以找到并编辑 Nginx 的配置文件