nginx服务器的基本部署及配置

nginx的使用我们利用企业7版本的主机来实现
server1(172.25.15.1) nginx服务器
真机(172.25.15.250) 用作客户端测试

开始搭建一个最基本的nginx服务器
从官网下载一个nginx的包,在真机上传给虚拟机server1的root家目录下面
在这里插入图片描述
在虚拟机server1上开始搭建nginx服务器
ps ax查看一下有没有影响我们实验的进程开启,就看实验环境是否干净
tar zxf nginx-1.17.1.tar.gz解压
在这里插入图片描述
cd zxf nginx-1.17.1/
在这里插入图片描述
ll搞清楚每一个目录和文件是什么,作用是什么
在这里插入图片描述
mkdir ~/.vim建立一个家目录下的隐藏目录
cp -r contrib/vim/* ~/.vim让这个虚拟机的vim可以自动检测配置文件语法是否有错误
在这里插入图片描述
在真机上面curl -I www.sina.com不可以看到新浪nginx的版本,发现是不能的
在这里插入图片描述
cd nginx-1.17.1/
vim auto/cc/gcc这个里面的debug要注释
在这里插入图片描述
vim src/core/nginx.h这个里面的版本要注释,可以隐藏版本
在这里插入图片描述
编译安装
./configure --prefix=/usr/local/nginx --with-file-aio(允许大文件输入输出)
在这之前要安装gcc zlib-devel 和 pcre-devel才可以编译
在这里插入图片描述
编译完之后ls 会生成Makefile 和 objs
在这里插入图片描述
make && make install 安装(只需要做一次)
在这里插入图片描述
cd /usr/local
du -sh nginx/ 可以看到注释debug编译安装nginx服务之后的大小,因为在配置文件中关闭了debug日志
在这里插入图片描述
执行nginx的启动脚本
在这里插入图片描述
有显示nginx的版本为1.17
在这里插入图片描述
在真机中curl也可以看到nginx的版本,这样配置其实很不安全,只是实验需要看到版本号,所以没有去掉
在这里插入图片描述
上面演示了,不生成debug日志和不注释的效果,下面演示一下生成debug日志和注释的效果
rm -rf /ur/localnginx/
cd ~/nginx-1.16.0
在这里插入图片描述
make clean 清除安装之后生成的东西
在这里插入图片描述
vim auto/cc/gcc 不注释debug
在这里插入图片描述
vim src/core/nginx.h关闭版本显示
在这里插入图片描述
./configure --prefix=/usr/local/nginx --with-file-aio(允许大文件输入输出)
make && make install
在这里插入图片描述
这次启动nginx然后再次curl发现,并不能看到版本了
在这里插入图片描述
真机也看不到
在这里插入图片描述
在真机打开浏览器测试一下:172.25.15.1可以看到nginx的欢迎页面
在这里插入图片描述
以上就是搭建一个最基本的nginx服务器

nginx服务的基本配置
在这里插入图片描述
ps aux可以看到进程运行的用户是匿名用户,这样不安全
在这里插入图片描述
在nginx服务器上面建立一个nginx用户,它不可以登录系统,只能运行nginx服务,这样比较安全
在这里插入图片描述
vim /usr/local/nginx/conf/nginx.conf编辑nginx服务的配置文件
修改用户和用户组:加入nginx nginx
修改进程个数:2
在这里插入图片描述
…/sbin/nginx -s stop关闭之前开启的进程以及服务
在这里插入图片描述
cd /usr/local/nginx
./sbin/nginx执行脚本,重新开启服务
ps ax可以看到开启了两个子进程和一个主进程
在这里插入图片描述
ps aux | grep nginx可以看到进程开启的用户
在这里插入图片描述

master 进程 和 worker 进程。其中 master 进程只有一个,worker 进程可以有多个。
worker 进程才是真正 working 的进程,才是真正处理请求的进程。worker 进程全部都是 master 进程的子进程
worker 进程是以普通用户的身份进行运行的,这样就可以极大增加程序的安全性
就算是万一有一个进程被劫持,那也不会有管理员权限
nginx 的热部署和其并发模型有着密不可分的关系。说白了,就是因为 master 进程的关系
当通知 ngnix 重读配置文件的时候,master 进程会进行语法错误的判断
如果存在语法错误的话,返回错误,不进行装载;如果配置文件没有语法错误,那么 ngnix 也不会将新的配置调整到所有 worker 中
而是,先不改变已经建立连接的 worker,等待 worker 将所有请求结束之后
将原先在旧的配置下启动的 worker 杀死,然后使用新的配置创建新的 worker

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值