一、环境

服务器版本:CentOS 7.2

为了保证学习阶段不遇到奇怪的事情,请保证以下四点(大神选择性无视)

  1. 确认系统网络
  2. 确认yum可用
  3. 确认关闭iptables
  4. 确认停用selinux
#查看iptables状态
systemctl status firewalld.service
#关闭防火墙(临时关闭)
systemctl stop firewalld.service
#查看SELinux状态
getenforce
#临时关闭SELinux
setenforce 0

安装一些系统基本工具,正常情况系统都会自带(没有在装哦)

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim

二、Nginx是什么?

Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务
其他的HTTP服务:

  1. HTTPD-Apache基金会
  2. IIS-微软
  3. GWS-Google(不对外开放)

近几年,Nginx的市场占有率越来越高,一度飙升,为什么呢?接下来我们就知道了!

三、我们为什么选择Nginx?

1. IO多路复用epoll(IO复用)

如何理解呢?举个例子吧!
有A、B、C三个老师,他们都遇到一个难题,要帮助一个班级的学生解决课堂作业。
老师A采用从第一排开始一个学生一个学生轮流解答的方式去回答问题,老师A浪费了很多时间,并且有的学生作业还没有完成呢,老师就来了,反反复复效率极慢。
老师B是一个忍者,他发现老师A的方法行不通,于是他使用了影分身术,分身出好几个自己同一时间去帮好几个同学回答问题,最后还没回答完,老师B消耗光了能量累倒了。
老师C比较精明,他告诉学生,谁完成了作业举手,有举手的同学他才去指导问题,他让学生主动发声,分开了“并发”。
这个老师C就是Nginx。

2. 轻量级

  • 功能模块少 - Nginx仅保留了HTTP需要的模块,其他都用插件的方式,后天添加
  • 代码模块化 - 更适合二次开发,如阿里巴巴Tengine

3. CPU亲和

把CPU核心和Nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换CPU的cache miss,从而提高性能。

三、安装与目录

本人使用了鸟哥的lnmp集成包 https://lnmp.org,简单方便-推荐!

#执行这句语句,根据指引,将安装 nginx php mysql 可进入lnmp官网查看更详细的过程
#默认安装目录/usr/local
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp#默认安装目录
/usr/local

四、基本配置

#打开主配置文件,若你是用lnmp环境安装
vim /usr/local/nginx/conf/nginx.conf----------------------------------------user                    #设置nginx服务的系统使用用户
worker_processes        #工作进程数 一般情况与CPU核数保持一致
error_log               #nginx的错误日志
pid                     #nginx启动时的pidevents {worker_connections    #每个进程允许最大连接数use                   #nginx使用的内核模型
}

我们使用 nginx 的 http 服务,在配置文件 nginx.conf 中的 http 区域,配置无数个 server ,每一个 server 对应这一个虚拟主机或者域名

http {... ...        #后面再详细介绍 http 配置项目server {listen 80                          #监听端口;server_name localhost              #地址location / {                       #访问首页路径root /xxx/xxx/index.html       #默认目录index index.html index.htm     #默认文件 }        error_page  500 504   /50x.html    #当出现以上状态码时从新定义到50x.html        location = /50x.html {             #当访问50x.html时root /xxx/xxx/html             #50x.html 页面所在位置}        }server {... ... }
}

一个 server 可以出现多个 location ,我们对不同的访问路径进行不同情况的配置
我们再来看看 http 的配置详情

http {sendfile  on                  #高效传输文件的模式 一定要开启keepalive_timeout   65        #客户端服务端请求超时时间log_format  main   XXX        #定义日志格式 代号为mainaccess_log  /usr/local/access.log  main     #日志保存地址 格式代码 main
}

四、模块

查看 nginx 已开启和编联进去的模块,模块太多了,就不在这长篇大论,有需要自行百度吧~

#大写V查看所有模块,小写v查看版本
nginx -V
# 查看此配置文件 是否存在语法错误
nginx -tc /usr/local/nginx/conf/nginx.conf

Nginx入门到实战(1)基础篇相关推荐

  1. 【NGINX入门指北】 基础篇

    文章目录 一.Nginx 简介 1.什么是Nginx? 2.Nginx 的作用 二.Nginx的安装 1.Windows下安装Nginx 2.Linux下安装Nginx 1.源码编译安装 2.yum ...

  2. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

  3. 名师讲坛—Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    名师讲坛-Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax) 基本信息 作者: 李兴华    王月清   出版社:清华大学出版社 ISBN:9787302231585 ...

  4. 视频教程-30小时微信小程序从入门到精通课程-基础篇-微信开发

    30小时微信小程序从入门到精通课程-基础篇 8年IT开发经验,6年IT教育经验,喜欢把复杂逻辑用简单的表述传达给学生,传授编程知识,讲述生活故事 曹圣捷 ¥12.00 立即订阅 扫码下载「CSDN程序 ...

  5. 深度学习理论与实战:基础篇电子书

    出版社:电子工业出版社 出版时间:2019-07-01 ISBN:9787121365362 包装:平装 字数:537000 页数:424 版次:1 开本:16开 用纸:胶版纸 正文语种:中文 字数: ...

  6. jmeter-5-从入门到放弃【基础篇】

    一.Jmeter简介: 1.简介 Jmeter 是一款基于Java程序开发的可视化客户端 (类似postman客户端).具有开源.高可扩展性.高移植性.多线程框架等特点. 简单来说它就是:界面友好,能 ...

  7. Nginx入门到精通1-nginx基础及环境搭建

    目录 一.Nginx基础知识 1.1 Nginx简介 1.2 Nginx功能 1.3 正向代理与反向代理 1.4 负载均衡 1.4.1 加权轮询 1.4.2 IP哈希 1.5 Nginx优点 1.6 ...

  8. Java内存马攻防实战——攻击基础篇

    ​ 在红蓝对抗中,攻击方广泛应用webshell等技术在防守方提供的服务中植入后门,防守方也发展出各种技术来应对攻击,传统的落地型webshell很容易被攻击方检测和绞杀.而内存马技术则是通过在运行的 ...

  9. Flask web开发实战之基础篇 Flask-数据库

    基础篇 第五章 Flask数据库 前言 5. 数据库 5.1 数据库的分类 5.1.1 SQL 5.1.2 NoSQL 5.1.3 如何选择? 5.2 ORM魔法 5.3 使用Flask-SQLAlc ...

  10. Flask web开发实战之基础篇 Flask-模板

    基础篇 第三章 Flask模板 前言 3. Flask模板 3.1 模板基本用法 3.1.1 创建模板 3.1.2 模板语法 3.1.3 渲染模板 3.2 模板辅助工具 3.2.1 上下文 3.2.2 ...

最新文章

  1. java面试时候算法题多吗_java程序员面试中最容易被问到的18个算法题(附答案!)...
  2. 关于ios颜色渐进的总结
  3. java中接口私有反方_Java 8:在接口中声明私有和受保护的方法
  4. 软件项目报价明细表_BIM必学软件之REVIT
  5. java 线程安全的单例_线程安全的单例模式的几种实现
  6. resultset不支持循环遍历_二叉树的各种遍历方法的简单解释
  7. Android仿探探卡片拖拽,[转]仿探探拖拽卡片效果Vue3实现
  8. Python第二天(字典)
  9. jQuery子窗体取得父窗体的元素
  10. android连接service,android连接webservice
  11. n160ii打印机查看ip地址_喷墨打印机自动清洁打印头方法你知道几个?
  12. 电脑重装系统虚拟机安装xp的教程
  13. linux+极点五笔输入法,CentOS系统安装极点五笔输入法
  14. mayapython编译器_Maya 安装 Cython(详细)
  15. DIY新浪微博Android手机客户端
  16. 嵌入式系统开发笔记16:CJ/T-188 冷热量表协议解析5
  17. 计算机一级考试ppt知识点,计算机一级考试考点:PPT演示文稿
  18. C# System命名空间表
  19. OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
  20. 基于流量分析的安全检测解决方案

热门文章

  1. C:\WINDOWS\WinSxS目录介绍,来自百度词条
  2. div设置百分比高度 宽度
  3. ------------------字节流---------------------
  4. Python 数值计算库之-[Pandas](六)
  5. netstat 命令state值
  6. web前端之HTML中的div
  7. codeblocks如何watch指针
  8. C#操作Excel文件(转)
  9. 实现跨域cookie共享(转载)
  10. OpenMeetings的安装