查看网站的状态码排错
在网站按F12 点击network 或者点击网络之后刷新
状态码 200-299表示成功
300-399 表示重定向 代表你访问的网站被重定向另外的地方
400-499 表示访问失败权限问题或者文件不存在
403表示权限不允许
404表示文件不存在
500-599 服务器内部错误 看看环境有没有问题,或者服务重启成功 一个是你有可能有个环境没有部上,另一个就是开发人员代码的问题
Nginx 的特点
1.速度更快,并发更高
2.配置简单,扩展性强
3.高可靠性
4.热部署
5.低成本、BSD许可证 是一个开源的许可证
nginx和Apache对比
nginx相对于apache的优点
- 轻量级,同样起Web服务,比apache占用更少的资源
- 抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能够保持低资源低消耗高性能
- 高度模块化的设计,编写模块相对简单
apache相对于nginx的优点
- rewrite功能比nginx的rewrite强大
- 模块超多,基本想到的都可以找到
- 超稳定,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这个是这个程序的启动脚本
启动/关闭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