目录
- Nginx基本简述
- Nginx快速安装
- Nginx安装目录
- Nginx编译参数
- Nginx配置文件
- Nginx常用状态码
1. Nginx 基本简述
Nginx是一个开源且高性能、可靠的 HttpWeb服务、代理服务。
- 开源: 直接获取源代码
- 高性能: 支持海量并发
- 可靠: 服务稳定
1. 常见的 HTTP Web服务
- HTTPD -> Apache基金会
- IIS -> 微软
- GWS -> Google
- openrestry
- tengline -> 淘宝基于Nginx开发
2. 为什么选择 Nginx
- Nginx非常轻量
-
功能模块少 (源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装)
-
代码模块化(易读,便于二次开发,对于开发人员是非常友好)
-
主流公司都选择Nginx
- 大公司都选择Nginx
- 统一技术工具,降低维护成本,减少故障率。
- Nginx涉足场景较多,技术更新成本低。
- Nginx采用Epool网络模型, Apache采用Select模型。
- Select: 当用户发起一次请求,select模型就会进行一次遍历扫描,从而导致性能底下。
- Epool: 当用户发起请求,epool模型会直接进行处理,效率高效,并无连接限制。
3. Nginx 应用场景
- 静态处理
- 反向代理
- 负载均衡
- 资源缓存
- 安全防护
- 访问限制
- 访问认证
2. Nginx 快速安装
1. 基础环境准备
//确认系统网络
[root@Nginx ~]# ping baidu.com
//关闭firewalld
[root@Nginx ~]# systemctl stop firewalld
[root@Nginx ~]# systemctl disable firewalld
//临时关闭selinux
[root@Nginx ~]# setenforce 0
//初始化基本目录
[root@Nginx ~]# mkdir /soft/{code,logs,package,backup} -p
2. 安装nginx所需依赖,配置nginx官方yum源
//基本安装包
[root@Nginx ~]# yum install -y gcc gcc-c++ autoconf \
pcre pcre-devel make automake wget httpd-tools vim tree
如果这一步出错,出现类似于运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决方案:https://blog.csdn.net/weixin_42956047/article/details/89455811
以下安装Nginx方式二选一:
(方式一:我没有成功)
//配置Nginx官方Yum源
[root@Nginx ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
3. 安装nginx
//安装Nginx
[root@Nginx ~]# yum install nginx -y
//查看Nginx当前版本
[root@Nginx ~]# nginx -v
nginx version: nginx/1.12.2
(方式二:我运行成功)
在Nginx官网选择自己想要安装的版本:
https://nginx.org/en/download.html
我选择的是稳定版本,然后鼠标右键,复制链接地址为https://nginx.org/download/nginx-1.14.2.tar.gz
在Centos7 控制台输入:
[root@localhost gmz]# wget https://nginx.org/download/nginx-1.14.2.tar.gz
[root@localhost gmz]# ls
nginx-1.14.2.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
将下载的安装包解压缩:
[root@localhost gmz]# tar zxvf nginx-1.14.2.tar.gz
[root@localhost nginx-1.14.2]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
设置安装路径:
[root@localhost nginx-1.14.2]# ./configure --prefix=/usr/local/nginx
根据报错提示,我安装了“zlib-devel”,重新运行以上命令,安装成功。
https://blog.csdn.net/weixin_42956047/article/details/89457338
[root@localhost nginx-1.14.2]# yum install -y zlib-devel
安装Nginx(通过从官网下载压缩包):
注意:先进入到Nginx安装包解压缩后的文件夹路径
[root@localhost home]# cd /home/gmz/nginx-1.14.2
[root@localhost nginx-1.14.2]# ls
auto CHANGES.ru configure html Makefile objs src
CHANGES conf contrib LICENSE man README
[root@localhost nginx-1.14.2]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.14.2]# make && make install
目前我的Nginx是安装在下图所示目录:
4. 启动Nginx
进入到启动 nginx 的二进制文件所在目录:
[root@localhost nginx]# cd /usr/local
[root@localhost local]# ls
bin etc games include lib lib64 libexec nginx sbin share src
[root@localhost local]# cd nginx
[root@localhost nginx]# ls
conf html logs sbin
[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# cd ..
启动Nginx命令:
[root@localhost nginx]# ./sbin/nginx 启动Nginx
注意:这里是先进入到Nginx安装路径,然后启动:
我是安装在 /usr/local/nginx
cd sbin
./nginx 启动Nginx
可以通过命令行判断Nginx是否已经启动,然后可以找到:
[root@localhost nginx]# ps -ef | grep nginx
root 7292 1 0 20:08 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 7294 7292 0 20:08 ? 00:00:00 nginx: worker process
root 7374 3461 0 20:13 pts/0 00:00:00 grep --color=auto nginx
但是我运行Nginx命令是报错:
[root@localhost sbin]# -bash:nginx
bash: -bash:nginx: 未找到命令...
找到进占用端口号的地进程id,不断杀死进程,知道运行 ./nginx 不报错