nginx 快速上手教程
2022年5月31日大约 3 分钟约 749 字
简介
Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务
很多大型网站都在使用nginx和Tengine
高性能原因:
采用IO多路复用epoll模型
CPU亲和
把每个进程固定在一个cpu核心上执行,进行绑定,减少切换cpu的开销,获得更好性能
sendfile
直接通过内核空间传输静态文件,高效的处理静态文件
环境调试确认
安装基本工具:
# 安装系统基本库
yum install gcc gcc-c++ autoconf pcre pcre-devel make automake
# 安装基本工具
yum install wget httpd-tools vim初始化目录:
cd /opt
mkdir app # 代码
mkdir download # 下载的源码包
mkdir logs # 自定义的日志
mkdir work # shell脚本
mkdir backup # 默认的配置文件的备份关闭firewalld和selinux
# 关闭firewalld
systemctl stop firewalld.service
# 暂时关闭selinux
setenforce 0
# 查看selinux状态
getenforce
# 长期关闭selinux,重启生效
>>> vim /etc/selinux/config
SELINUX=disabled安装 nginx
nginx三种版本:
- Mainline version 开发版
- Stable version 稳定版
- Legacy version 历史版本
添加nginx官方源
# >>> vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1yum安装nginx
yum install nginx # 安装
systemctl start nginx # 启动服务
systemctl enable nginx # 设置开机启动查看安装的基本信息
# 查看nginx版本号
nginx -v
# 查看编译的参数
nginx -V
# 查看nginx安装位置
rpm -ql nginx安装目录详解:
| 路径 | 类型 | 作用 |
|---|---|---|
| /etc/logrotate.d/nginx | 配置文件 | Nginx日志轮转,用于logrotate服务的日志切割 |
| /etc/nginx/nginx.conf /etc/nginx/conf.d/default.conf | 配置文件 | Nginx主配置文件 |
| /etc/nginx/fastcgi_params /etc/nginx/uwsgi_params /etc/nginx/scgi_params | 配置文件 | cgi相关配置 |
| /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf | 配置文件(很少用) | 编码转换映射文件 |
| /etc/nginx/mime.types | 配置文件 | 设置http协议的Content-Type与扩展名对应关系 |
| /usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /etc/sysconfig/nginx /etc/sysconfig/nginx-debug | 配置文件 | 用于配置系统守护进程管理器管理方式 |
| /usr/lib64/nginx/modules /etc/nginx/modules | 模块 | Nginx模块目录 |
| /usr/sbin/nginx /usr/sbin/nginx-debug | 命令 | Nginx服务启动命令 |
| /usr/share/doc/nginx-1.12.0 /usr/share/man/man8/nginx.8.gz | 帮助文档 | |
| /var/cache/nginx | 缓存目录 | Nginx缓存目录 |
| /var/log/nginx | 日志 | Nginx日志目录 |
安装编译参数:
| 编译选项 | 作用 |
|---|---|
| --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock | 安装目录 |
| --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp | 执行对应模块时,Nginx所保留的临时文件 |
| --user=nginx --group=nginx | 设置Nginx进程启动的用户和组 |
| --with-cc-opt=parameters | 设置额外的参数将被添加到CFLAGS变量 |
| --with-ld-opt=parameters | 设置附加的参数,链接系统库 |