一、简介
1、什么是Nginx
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。
由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,
并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
Nginx最大支持同时请求5W。
2、nginx可以提供的服务
- web 服务.
- 负载均衡 (反向代理)
- web cache(web 缓存)
3、nginx 的优点
- 高并发。静态小文件
- 占用资源少。2万并发、10个线程,内存消耗几百M。
- 功能种类比较多。web,cache,proxy。每一个功能都不是特别强。
- 支持epoll模型,使得nginx可以支持高并发。
- nginx 配合动态服务和Apache有区别。(FASTCGI 接口)
- 利用nginx可以对IP限速,可以限制连接数。
- 配置简单,更灵活。
四、nginx应用场合
- 静态服务器。(图片,视频服务)另一个lighttpd。并发几万,html,js,css,flv,jpg,gif等。
- 动态服务,nginx——fastcgi 的方式运行PHP,jsp。(PHP并发在500-1500,MySQL 并发在300-1500)。
- 反向代理,负载均衡。日pv2000W以下,都可以直接用nginx做代理。
- 缓存服务。类似 SQUID,VARNISH。
二、CentOs 安装
1、下载 Nginx
下载地址:地址 http://nginx.org/download/
下载 Nginx,将下载好的 Nginx 复制到系统目录,执行解压命令:
#解压命令 [root@master home]# tar zxvf nginx-1.17.9.tar.gz #进入 Nginx目录 [root@master home]# cd /home/nginx-1.17.9 #编译安装 [root@master nginx-1.17.9]# ./configure --prefix=/usr/local/nginx #执行make命令 [root@master nginx-1.17.9]# make #执行make install命令 [root@master nginx-1.17.9]# make install
常见问题:
如果执行 ./configure 命令,提示 “./configure: error: C compiler cc is not found” ,则执行命令
yum -y install gcc gcc-c++ autoconf automake make
如果出现 “ make: *** 没有规则可以创建“default”需要的目标“build””,则添加依赖包、执行命令
yum install pcre-devel zlib zlib-devel openssl openssl-devel
测试 Nginx 是否安装成功:
#进入Nginx编译目录
[root@master ~]# cd /home/nginx
[root@master nginx]# ./sbin/nginx -t
2、启动Nginx
启动之前,执行 netstat -tunlp | grep 80 命令查看 80 端口是否被占用,如果被占用,则修改端口号
确认无误后,执行命令,启动Nginx。
#进入 Nginx 安装目录
[root@master conf]# cd /home/nginx
#启动
[root@master nginx]# sbin/nginx
执行 ps -ef | grep nginx 命令,查看Nginx进程。
输入 http:IP:端口 ,出现 欢迎界面,则启动成功。
3、设置 Nginx 开机启动
执行命令: vi /etc/rc.d/rc.local ,通过vi 编辑器在其中添加
touch /var/lock/subsys/local
#nginx开机启动
/home/nginx/sbin/nginx
三、Nginx 常见命令
关闭:
1、查看进程号:
[root@master nginx]# ps -ef |grep nginx
2、强制停止,根据进程号杀死进程
[root@master nginx]# kill -9 10795
启动 nginx :
##以实际安装目录为准 [root@master nginx]# /home/nginx/sbin/nginx -c /home/nginx/conf/nginx.conf
重启nginx :
[root@master nginx]# /home/nginx/sbin/nginx -s reload
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决