web服务器,现在用Nginx Nginx要更强一些,市面上用的最多的是Nginx
要做web网站,可以用众多的软件Apache Nginx tengine Lighttpd tomcat /ibm web spaher/ jboss
现在所有的业务都是围绕web服务器,所有的手机浏览信息
Apche是第一个网络软件,特别老了
性能与并发量要求越来越高了 Nginx是俄罗斯人开发的 engine引擎 x
nginx是轻量级的,理论上的并发量是5万 http是3万 Tengine(淘宝引擎)是Enginx的改进
微软的web服务器是IIS
打开一个网页,按F12控制台 选中网络
随便选择一个碎点
我要发送请求就是 请求头
服务器发给我的就是 响应头
server:'nginx'
*****************************************************************************************************************
环境配置:4台虚拟机,及关闭selinux firewall
ip地址 yum源(用网络yum源,注意要把网络源挂载到本地) 主机名
但是eth1配置需要先去做识别 先去创建add eth1
添加网卡eth1:nmcli connection add con-name eth1 ifname eth1 type ethernet
源码安装构建Nginx服务器
1.获取相关软件包:
官方网站:https://nginx.org/ 点击download 中间列是linux操作系统的
历史版本下载地址:https://nginx.org.download
下载完以后解压,里面有个configure,先安装依赖再执行编译安装
先用yum安装依赖包(一般光盘源都有):
gcc(c语言解释器)
pcre-devel(支持正则)
openssl-devel(可以做https)
然后创建一个无法登陆的useradd nginx用户,以这个用户启动nginx服务,这样当别人攻击了网站,拥有的权限就是这个用户的权限
useradd -s /sbin/nologin nginx
2. 开始编译:
./configure\ //进入配置模式
--prefix=/usr/local/nginx \ //指定安装路径 注意一定要有空格
--user=nginx \ //指定这个工具的所属者
--group=nginx \ //指定这个工具的所属组
--with-http_ssl_module(做加密的功能) //开启SSL加密功能 模块化设计!将功能分开!只装对应的功能,极大的节约内存!
--with-http_stub_status_module //启用查看nginx状态的功能
以上所有是一行命令所以需要\转行
3.开始安装:
make && make install(安装)
4.ls /usr/local/nginx 查看以下东西在不在
配置文件是conf html是网页路径 logs是日志 sbin是程序
[root@proxy ~]# /usr/local/nginx/sbin/nginx //启动服务,不能重复打
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s stop //关闭服务,不能重复打
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload //重新加载配置文件,不会关服务,会立即生效,服务必须是开的
[root@proxy ~]# /usr/local/nginx/sbin/nginx -V //查看软件信息
[root@proxy ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/ //方便后期使用,创建连接,且不占用空间,也可以用cp,但是慢
netstat命令可以查看系统中启动的端口信息,该命令常用选项如下:
-a显示所有端口的信息
-n以数字格式显示端口号
-t显示TCP连接的端口
-u显示UDP连接的端口
-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
-p显示监听端口的服务名称是什么(也就是程序名称)
netstat -anptu | grep nginx 用来筛选
****************************************************************************************************************
想要增加功能模块,可以重新安装(不会影响之前的配置文件参数):
1.先停止老程序:
nginx -s stop 或者 killall nginx //将老程序结束
2.如果要安装新版本的话,就做下面的操作,只是单纯的在原版本上加功能模块的话,直接重新编译安装即可
[root@proxy]#cd nginx-1.12.2
[root@proxy nginx-1.12.2]#./configure \ //注意\之前一定要有空格
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module
做完这些操作,会多一个objs目录,这个目录是根据你选择的模块,把你需要的模块拷贝到objs里,但是此时里面没有可执行程序
[root@proxy nginx-1.12.2]#ls /root/lnmp_soft/nginx1.12.2/objs/src
//这里放的是Nginx所有程序的源代码
[root@proxy nginx-1.12.2]#make
//make的功能是让源码转换为2进制告诉计算机
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginxold
//此时因为有两个版本,都叫nginx,所以要把老版本的改个名字做备份
[root@proxy nginx-1.12.2]# cp ./objs/nginx /usr/local/nginx/sbin/
//拷贝新版本,新版的可执行程序在objs里
再创建一条软连接:
ln -s /usr/local/nginx/sbin/nginx /sbin
再 nginx运行 这时候就是新版本了
****************************************************************************************************************
/usr/local/nginx/conf/nginx.conf 是nginx默认配置文件
每一个server {} 是一个网页
server{
listen 80; //指定端口号,一定要以分号结尾
server_name localhost; //指定域名,写localhost的话,客户端直接输入服务端ip即可访问网页
root html; //网页根目录在哪,即/usr/local/nginx/html/*
index index.html index.htm; //默认先打开index.html页面,在index.html打不开时,会打开index.htm
}
默认网页存放路径:/usr/local/nginx/html/* ,这个是基于编译安装时,设置的路径
****************************************************************************************************************