Nginx

1. 获取服务器

2. 环境确认

2.1 关闭iptables

  • iptables命令是Linux上常用的防火墙软件。
2.1.1 停止防火墙
// bash
$ systemctl stop firewalld.service
复制代码
2.1.2 永久关闭防火墙
// bash
$ systemctl disable firewalld.service
复制代码

2.2 停用SELinux

  • 安全增强型Linux(Security-Enhanced Linux)=> SELinux。他是Linux的一个内核模块,也是Linux的一个安全子系统。
  • SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
  • 临时关闭:setenforce 0
  • 永久关闭:/etc/selinux/config SELINUX=enforcing=>disabled
  • 查看状态:/usr/sbin/sestaus -v

2.3 安装依赖

// bash 1
$ yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

// bash 2
$ yum -y install wget httpd-tools vim
复制代码

3. Nginx的优势

  • IO多路复用 多个描述符的IO操作都能在一个线程里并发交替顺序完成,复用线程。
  • CPU亲和 一种把CPU核心和Nginx工作进程绑定方式,把每个worker进程固定在一个CPU上执行,减少切换CPU和提交缓存命中率,获得更好的性能。
  • sendfile 零拷贝传输模式 ![usercore]

4. Nginx安装

4.1 分类

  • Mainline version 开发板
  • Stable version 稳定版
  • Legacy version 历史版

4.2 下载地址

  • Nginx官网

4.3 安装

4.3.1 创建repo文件
// 创建文件
# vi /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
复制代码
4.3.2 安装
//bash
# yum install nginx
复制代码

5. 目录

5.1 安装目录

  • 查看配置文件和目录
// bash
# rpm -ql nginx
复制代码

5.2 配置文件

  • /root => /etc/nginx

类型

文件

用途

配置文件

/etc/logrotate.d/nginx

用于logrotate日志切割

配置文件

/root/nginx

主配置文件

配置文件

/root/conf

主配置文件

配置文件

/root/conf.d

主配置文件

配置文件

/root/conf.d/default.conf

主配置文件

配置文件

/root/scgi_params

cgi配置

配置文件

/root/uwsgi_params

fastcgi配置

配置文件

/root/koi-utf/win-utf

转码转换映射转化文件

配置文件

/root/mime.types

http:Content-Type与扩展名对应关系

配置文件

/root/modules;/usr/lib64/nginx/modules

nginx模块目录

命令

/usr/share/doc/nginx-1.14.2(?/COPYRIGHT)

nginx手册和帮助文档

目录

/var/cache/nginx

nginx的缓存目录

目录

/var/log/nginx

nginx的日志

5.3 编译参数

5.3.1 安装目录和路径
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
built with OpenSSL 1.0.2p  14 Aug 2018
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2p --with-pcre=../pcre-8.42 --with-pcre-jit --with-ld-opt=-ljemalloc
复制代码
5.3.2 执行对应的模块时,nginx保留的临时性文件
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-paty=/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
复制代码
5.3.3 设置nginx进程启动的用户和用户组
--user=nginx
--group=nginx
复制代码

6. 配置文件

  • /etc/nginx/nginx.conf
  • /etc/nginx/conf.d/*.conf => /etc/nginx/conf.d/default.conf

6.1 全局和服务配置

分类

配置项

用途

全局

user

设置nginx服务的系统使用用户

全局

worder_processes

工作进程数,一般和CPU数量相同

全局

error_log

nginx的错误日志

全局

pid

nginx服务启动时的pid

7. 命令

// 启动
systemctl start nginx.service

// 重启
systemctl restart nginx.service
nginx -s reload

// 开机自启
systemctl enable nginx.service

// 停止开机自启
systemctl disable nginx.service

// 查看状态
systemctl status nginx.service

// 停止
systemctl stop nginx.service
nginx -s stop
nginx -s quit
复制代码