查看网站的状态码排错
在网站按F12 点击network 或者点击网络之后刷新
状态码 200-299表示成功
300-399 表示重定向 代表你访问的网站被重定向另外的地方
400-499 表示访问失败权限问题或者文件不存在
403表示权限不允许
404表示文件不存在
500-599 服务器内部错误 看看环境有没有问题,或者服务重启成功 一个是你有可能有个环境没有部上,另一个就是开发人员代码的问题

Nginx 的特点

1.速度更快,并发更高
2.配置简单,扩展性强
3.高可靠性
4.热部署
5.低成本、BSD许可证    是一个开源的许可证

nginx和Apache对比

nginx相对于apache的优点

  1. 轻量级,同样起Web服务,比apache占用更少的资源
  2. 抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能够保持低资源低消耗高性能
  3. 高度模块化的设计,编写模块相对简单

apache相对于nginx的优点

  1. rewrite功能比nginx的rewrite强大
  2. 模块超多,基本想到的都可以找到
  3. 超稳定,nginx相对apache来说bug更多

nginx代理的原因

nginx接受用户的请求并发数量比httpd更多

准备工作

关闭防火墙和selinux

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

nginx yum安装

去nginx官方网站
https://nginx.org/en/linux_packages.html

根据自己的软件包的发行版本自行选择
这里的版本是RHEL/CentOS https://nginx.org/en/linux_packages.html#RHEL-CentOS

配置nginx源

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

把上面的复制到/etc/yum.repos.d/nginx.repo之后保存退出,清除缓存

yum list all   就会加载nginx源
yum repolist  就会发现有个nginx-stable的源

配置好nginx yum源后下载nginx

yum -y install nginx

nginx源码安装

下载nginx源码包

网站搜索https://nginx.org/en/download.html(根据自己的需求选取版本)
选择版本右键复制连接例如:https://nginx.org/download/nginx-1.20.2.tar.gz
我这里下载了nginx-1.22.0.tar点击可以直接下载

wget https://nginx.org/download/nginx-1.20.2.tar.gz

解压nginx源码包

解压并放到/usr/local/src下 ,/usr/local/src里面放的是用户编译软件所用的源码的

tar -xvf nginx-1.22.0.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.22.0

解压完之后进入这个解压的目录进入之后有个 绿色的文件叫(configure)(可执行文件)我们要用的就是这个文件(它就是个脚本就是用来源码安装的这个叫预编译脚本)

下载依赖关系

yum -y groupinstall   "Development Tools"
yum -y install pcre pcre-devel openssl openssl-devel

修改版本号

修改版本号 的好处是防止别人利用这个版本的漏洞来攻击网站

vim /usr/local/src/nginx-1.20.2/src/core/nginx.h

执行configure预编译脚本,并编译安装

创建nginx用户作为这个服务的启动用户 -r 创建系统用户

useradd -r nginx 

这个时候configure预编译脚本执行成功,只是生成了配置文件并没有真正的安装,我们还要把生成的编译文件转换成二进制文件最后才进行安装,刚才是用编译脚本进行预编译(预编译的意思是先生成编译文件并不安装)
我们在/usr/local/src/nginx-1.20.2/下 输入 make(根据当前目录下的编译文件进行编译)编译完了它并不安装,它会在当前目录生成编译代码
在/usr/local/src/nginx-1.20.2/ 下面输入make install 编译安装

./configure --prefix=/usr/local/nginx --with-http_ssl_module  --with-pcre  --user=nginx  --group=nginx 
make && make install

安装完成

在/usr/local/nginx/ 下面我们就会发现有四个目录说明安装成功了
输入tree看里面有什么
–conf (里面是配置文件)配置文件里有个nginx.conf(主配置文件) default 结尾的是给我们的模板做参考用的
–html (里面是放网站的)
–logs (放日志的)
–sbin 里面有个 nginx这个是这个程序的启动脚本
image

启动/关闭nginx

开启nginx
在cd /usr/local/nginx/sbin/ sbin(二进制执行命令) 在里面 ./nginx 这就启动了 (源码安装需要这样启动) ./nginx -s reload (重载)

cd /usr/local/nginx/sbin/
./nginx  -s  reload

关闭nginx
在cd /usr/local/nginx/sbin/ ./nginx -s stop -s(发送信号) stop关闭

cd /usr/local/nginx/sbin
./nginx  -s  stop 

linux 通过export添加环境变量
添加变量之后在任何地方直接输入nginx 就可以开启nginx
方法一,临时生效
export PATH=$PATH:/usr/local/nginx/sbin/
方法二,永久生效

vim /etc/profile.d/nginx.sh
echo 'export PATH=$PATH:/usr/local/nginx/sbin/'  >>  /etc/profile.d/nginx.sh