nginx与apache的对比

nginx优点

nginx使用场景

编译安装nginx过程

1.先清空opt文件夹
2.关闭防火墙,关闭防护

3 安装依赖包,可以通过本地yum去安装 首先就是挂载,随后切换到配置文件中修改

4本地配置文件配置内容

5 随后安装环境包
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel

6 创建一个nginx的用户

7 接下来编译安装,首先切换到opt里面,将在官网下载的包拉入到xshell


./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
注意因为是新版的安装包,必须安装openssl-devel
8 下载
9 做一个软连接 为了让系统识别nginx
没做软连接之前,系统识别不了nginx

补充说明:如果正确使用sbin 或bin
查看第三方程序在哪个里面 pwd可以查看,如果在sbin就用sbin 如果在bin,就用bin
解析为什么软连接的的路径 make install生成安装目录 才会有nginx
有两种方法可以识别nginx
1.echo $PATH,将nginx的路径加入到此文件中
2.做软连接
查看语法是否有误
开启nginx进程 并且查看
master process:是nginx的主进程,用来管理worker process进程,并且可以读取配置文件
worker process:工作进程,用来处理客户的连接请求
停止nginx

1.先查看nginx的pid号 pid号在logs目录里面

pid号与主进程号是一样的
杀除进程号

killall -3 nginx中killall是根据进程名杀除,但是会出现误杀。
重载


或者使用nginx的-s选项 可以通过--help查看

如果要停止nginx,可以使用nginx -s quit 随后使用lsof -i :80 去检验
如果想使用重载,则使用nginx -s reload
平滑升级:就是在不关闭nginx的情况下,升级nginx

举例说明,先在官网下载一个最新版本的nginx,1.25

随后,查看自己的nginx版本号,nginx -v

将最新版本的nginx挪到xshell中


然后使用./configuer 跟make 即可 不需要使用make install (怕会被覆盖)

./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

随后查看一下,会生成objs的文件夹,此文件夹中,就存在25版本的文件
接下来要做替换,先找到24版本的nginx,改个名字

改完名字之后,再切换到25版本中的objs(因为里面有25版本的nginx的二进制文件)
![]()
接着,去24版本的路径中去查看

接着,继续切换到25版本的路径中

最后证实一下

或者通过客户端去访问服务端
日志分割
举例说明: 将多余的移动到别的文件夹中,相关nginx的目录就没有了,使用日志分割,会重新生成新的文件,再次让nginx文件生成

创建nginx自启动文件,或者称为 利用systemctl 去管理nginx

vim /usr/lib/systemd/system/nginx.service
#建立文件
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/logs/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
LimitNOFILE=100000[Install]
WantedBy=multi-user.target
[Unit]
Description=The nginx HTTP and reverse proxy server[Service]
PIDFile=/apps/nginx/logs/nginx.pid
ExecStart=/apps/nginx/sbin/nginx
ExecStop=/usr/bin/kill -s TERM $MAINPID
ExecReload=/apps/nginx/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target
认识nginx里的主配置文件


全局配置







![视频生成模型:构建虚拟世界的模拟器 [译]](https://img-blog.csdnimg.cn/img_convert/0013e0aa236eeed62390e7dec0167f8e.png)















