您的位置 首页 nginx

1-nginx 配置详解 (nginx安装 yum 方式)

这篇文章,白眉大叔准备给大家分享一下有关nginx 的知识,想让小白快速的入门nginx配置

01·Nginx Web快速入门-基础

首先大部分企业都在使用 nginx ,可能会有人问,为什么不适用apache呢

我们来对比一下:

apache 用的是select 模型,需要全部遍历一遍。 而 nginx 用的Epool模型,异步非阻塞。

举个例子:

假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。

select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。

而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之 一,select和epoll的性能谁的性能更高,同样十分明了。

为什么要用nginx 呢?

(1)nginx 是epool模型,异步非阻塞

(2)轻量级,易安装,易维护

(3)社区比较活跃,功能多,用的人多,重要的是我们公司的产品不清楚什么时候人多,什么时候人少,会涉及到并发。

 

nginx 快速安装

2种安装方式:

(1)编译安装

(2) yum安装:

epel仓库安装: 版本比较低,配置不易读

官方仓库:版本新,配置易读

接下来演示一下, 官方残酷的安装方法

第一步: 配置官方的yum源

进入 nginx.org  官网网站, 然后找到 download 下载栏目:

nginx: download

http://nginx.org/en/linux_packages.html

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

 

我们来解释一下:

第2步: 安装nginx

yum -y install nginx

查看版本号:

nginx -v

第3步:启动Nginx 加入开机自动运行

systemctl start nginx
systemctl enable nginx

第4步: 检查nginx是否运行

systemctl status nginx

检查nginx服务的端口号: http: 80

netstat -tnulp|grep 80

打开浏览器,验证是否安装成功:

到此为止, nginx 安装 成功了

(注意: 云服务一定检查是否开启了80 端口)

Nginx启动方式有2种: 只用一种方式管理Nginx 两种不能混合使用(只用 systemctl)

方式1: 使用systemctl方式管理nginx

systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx
systemctl status nginx
systemctl enable nginx
systemctl disable nginx

 

方式2: 使用绝对路径方式管理nginx

/usr/sbin/nginx # 启动nginx
/usr/sbin/nginx -s stop # 停止nginx
/usr/sbin/nginx -s reload # 重新加载配置
/usr/sbin/nginx -s stop && /usr/sbin/nginx # 重启Nginx

 

nginx 测试页面配置 : 连接 

 

第三部分: Nginx的配置文件

 

1.Nginx主配置文件

路径 类型 作用
/etc/nginx/nginx.conf 配置文件 nginx主配置文件
/etc/nginx/conf.d/default.conf 配置文件 默认网站配置文件

2.Nginx代理相关参数文件

路径 类型 作用
/etc/nginx/fastcgi_params 配置文件 Fastcgi代理配置文件
/etc/nginx/scgi_params 配置文件 scgi代理配置文件
/etc/nginx/uwsgi_params 配置文件 uwsgi代理配置文件

3.Nginx编码相关配置文件

路径 类型 作用
/etc/nginx/win-utf 配置文件 Nginx编码转换映射文件
/etc/nginx/koi-utf 配置文件 Nginx编码转换映射文件
/etc/nginx/koi-win 配置文件 Nginx编码转换映射文件
/etc/nginx/mime.types 配置文件 Content-Type与扩展名

4.Nginx管理相关命令

路径 类型 作用
/usr/sbin/nginx 命令 Nginx命令行管理终端工具
/usr/sbin/nginx-debug 命令 Nginx命令行与终端调试工具

4.Nginx日志相关目录与文件


路径 类型 作用
/var/log/nginx 目录 Nginx默认存放日志目录
/etc/logrotate.d/nginx 配置文件 Nginx默认的日志切割

nginx.conf (配置文件详解)

 

vim /etc/nginx/nginx.conf

 

[核心区块]
user nginx; # 虚拟用户 可以自定义
worker_processes auto; # worker子进程的数量 CPU核心数有几个 这个就是几error_log /var/log/nginx/error.log notice; # 错误日志存放的路径
pid /var/run/nginx.pid; # 运行后的PID号的路径events { # 事件模块
worker_connections 25000; # 每个进程最大的并发连接数
}
# 注意 最大连接数量和文件描述符有关(打开文件最大数量)http {
include /etc/nginx/mime.types; # 支持的媒体类型
default_type application/octet-stream; # 如果找不到对应的类型 默认下载方式打开

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main; # 调用日志的格式

sendfile on; # 文件的高效传输
#tcp_nopush on;

keepalive_timeout 65; # 长连接的超时时间

#gzip on; # 是否开启压缩
include /etc/nginx/conf.d/*.conf;

}

server配置

/etc/nginx/conf.d/default.conf

 

 

server {
listen 80; # 监听的端口
server_name www.game.com; # 域名 IP地址 localhost表示本机location / { # 用户访问域名默认返回的内容
root /code; # 指定用户去/code目录下找代码
index index.html index.htm; # 默认给用户返回index.html 或者index.htm
}
}

测试配置文件是否正确: nginx -t

test

如果里边()括号少,是不报错的,注意点

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章