您现在的位置是:首页 >技术教程 >Nginx的网站服务网站首页技术教程

Nginx的网站服务

不会≠趴菜 2024-07-15 18:01:02
简介Nginx的网站服务

一、Nginx与apache的差异

nginx相对于apache的优点:
轻量级,同样是web服务,比apache占用内存更少及资源;高并发,ngnix处理请求是异步非塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能,高度模块化的设计
编写模块相对简单,社区活跃,各种高性能模块出品迅速。

apache相对于nginx的优点:
rewrite比nginx的rewrite强大,模块超多,基本想到的都可以找到,少bug,nginx的bug相对较多;超稳定
存在就算理由,一般来说,需要性能的web服务,用nginx。如果不需要性能只求稳定,那就apache,nginx处理动态请求是弱项,一般动态请求要apache去做,nginx只适合处理静态网页或反向代理。

二、编译安装Nginx服务

nginx是一款高性能、轻量级的服务软件,巨头稳定性高,系统资源消耗低,对http并发连接的处理能力高,对单台物理服务器可支持30000~50000个并发请求。(官方是这样,但是实际可能是二~三万,而apache差不多几千不到一万)

nginx官网下载下载nginx软件包
在这里插入图片描述
关闭防火墙
安装依赖包
在这里插入图片描述
解压在这里插入图片描述
创建nginx用户
在这里插入图片描述
添加配置项
在这里插入图片描述
编译及安装
在这里插入图片描述
查看nginx文件位置
在这里插入图片描述
在这里插入图片描述
将可执行文件建立软连接放入系统目录里,方便系统识别命令,就不需要使用绝对路径执行命令
在这里插入图片描述

三、Nginx命令

nginx启动,停止,重启,查看状态

直接输入nginx就会启动nginx服务,停止服务可以使用nginx进程,使用kill命令即可,nginx初始是没有systemctl文件的,所以只能使用nginx本身以及kill停止进程。
查看进程可以使用netstat -lntp | grep nginx查看是否在运行。或者使用ps aux | grep nginx也可以。
在这里插入图片描述
master是nginx的主进程,是启动服务时读取nginx的配置文件和管理工作进程。
worker是nginx的工作进程,是负责连接客户端工作的。
在这里插入图片描述
有一个文件专门用来保存nginx服务的进程号
在这里插入图片描述

kill的几种方式:
kill -15:默认的kill杀掉进程的方式,告诉进程你自己关闭。
kill -9:强制杀掉进程
kill -3:优雅的杀死进程,提醒进程自行关闭,并记录进程的“遗言”
killall:通过进程名杀掉进程
pkill:只要进程名包含所输入参数的进程都会被杀掉

总结:
启动命令:
kill
停止命令:
kill -3 PID号
kill -s QUIT PID号
killall -3 nginx
killall -s QUIT ID号
重载命令:
kill -1 PID号
kill -s HUP PID号
killall -1 nginx
killall -s HUP PID号

nginx升级:
先将源文件移走,以防下载失败可以恢复,然后再编译安装新的安装包
在这里插入图片描述
这个时候使用./nginx -v就可以看到新的版本,但是这只是做了文件替换,并没有升级,接下来回到软件包目录。
在打开nginx的状态下使用make upgrade开始在线升级。
在这里插入图片描述

四、向系统添加nginx服务

系统本身是无法使用systemctl打开或者关闭nginx服务的,如果想使用systemctl来操作,就需要我们自己写一个脚本。
在这里插入图片描述
在这里插入图片描述
使用systemctl管理的话需要创建一个nginx服务的配置文件
vim /usr/lib/systemd/system/nginx.service
在这里插入图片描述
配置完就可以使用systemctl命令
在这里插入图片描述
使用脚本和配置文件都可以管理服务。

五、nginx配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
临时修改程序同时打开文件数:
ulimit -n 参数
在这里插入图片描述
永久设置需要去配置文件里修改
vim /etc/security/limits.conf
在这里插入图片描述

需重启才能生效

六、http块的配置

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
在这里插入图片描述

重启nginx服务,再用浏览器访问即可看见设置的内容,这个属于根目录查看
在这里插入图片描述
虚拟目录查看
在这里插入图片描述
在这里插入图片描述
文件位置并没有动,访问不到是因为两次所代表的根目录不一样
在/usr/local/nginx/logs/access.log文件里查看
在这里插入图片描述
在/usr/local/nginx/logs/error.log文件里查看
在这里插入图片描述
两次不同的原因:
在这里插入图片描述

查看模块
在这里插入图片描述
在配置文件里配置模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编写shell脚本来判断监控服务器的并发量
在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。