1.概述

        Nginx是开源免费的一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,使用nginx网站用户有很多,如百度、京东、新浪、网易、腾讯、淘宝等。

1.1Nginx的优点

         1.1.1可以高并发连接

         官方测试Nginx能够支撑5万并发连接,实际生产环境中可以支撑2~4万并发连接数。原因,主要是Nginx使用了最新的epoll(Linux2.6内核)网络I/O模型,而Apache使用的是传统的Select模型,其比较稳定的Prefork模式为多进程模式,需要经常派生子进程,所以消耗的CPU等服务器资源,要比Nginx高很多。

          1.1.2内存消耗少

          Nginx+PHP(FastCGI)服务器,在3万并发连接下,开启10个Nginx进程消耗150MB内存,15MB*10=150MB,开启的64个PHP-CGI进程消耗1280内存,20MB*64=1280MB,加上系统自身消耗的内存,总共消耗不到2GB的内存。、

          1.1.3成本低廉

          购买负载均衡交换机或相关的云负载均衡服务(SLB)都是要花费很高昂的费用的,而Nginx为开源软件,可以免费用,并且可用于商业用途。

           1.1.4配置文件非常简单

           1.1.5稳定性高

           1.1.6支持热部署

           1.1.7节省带宽

 2.安装nginx

        1.下载源码包

        2. 解压并进入解压目录

        3.配置

        4.编译和安装

wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar zxf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make && make install

2.1目录介绍 

    安装成功后,进入到安装后的目录中

conf 配置文件   配置虚拟主机文件就在此
html 网页文件

logs 日志文件
sbin 主要二进制程序 启动服务命令就在此

2.2修改nginx运行系统用户  

 创建Nginx运行使用的用户nginx

useradd nginx

  修改nginx.cong配置文件

vi nginx.conf
// 用户 组
user nginx nginx;

2.3启动nginx

# 启动 nginx 服务
/usr/local/nginx/sbin/nginx
注:启动时一定要确保80端口没有被占用
netstat -tunpl /usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx # 设置开机启动
vi /etc/rc.local
# 添加如下命令
/usr/local/nginx/sbin/nginx

2.5配置文件  

      配置文件默认认为安装目录中的conf/nginx.conf文件

配置文件语法:http段 => server段 => location段

http段:是要包含所有的Server段,即将nginx所有的虚拟主机配置包含进去
server段:一个server即一个虚拟主机配置段落,后期有多少个虚拟主机取决于server段
location段:每个location段即表示该虚拟主机中的一个模块功能配置 注:配置后面分号不能少,{} 和配置之间要有空格

2.6配置虚拟主机  

server {
listen 80; # 端口
server_name www.aa.com; # 域名
root /var/www/html; # 根目录 绝对地址
location / {
index index.html; # 默认缺省文件
}
}

3.支持php

   apache因为把php模块集于一身成为一个整体,任何请求访问(静态,动态)都是apache(httpd)自己搞定的, 而nginx仅仅是一个传递的角色。它可以处理静态(html,图片,js,css等),但php相关的就得由后面的php-fpm来处理   

# 搜索
yum search fpm|grep ^php
# 安装
yum install -y php71w-fpm.x86_64 # 启动
/usr/sbin/php-fpm
默认端口号为 9000

3.1配置nginx支持php

# server节点
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
# 非必须 默认索引页
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

4.开启gzip

  压缩文件大小变小了,传输更快了,提高网站的访问速度和并发量。目前市场上浏览器都是支持GZIP的。IE6以下支持不好,会出现乱码情况。

## http 节点中设置

# 开启gzip
gzip on;
# 设置将被gzip压缩的响应的最小长度
gzip_min_length 200;
# 压缩级别 1-9
gzip_comp_level 6;
# 压缩在缓冲区块数和每块大小
gzip_buffers 32 4k; # | 16 8k;
# 设置压缩响应所需的最低HTTP请求版本
gzip_http_version 1.0;
gzip_types text/plain text/html text/css text/xml application/xml application/json application/javascript;

5.浏览器缓存

   告知浏览器获取的信息是在某个区间时间段是有效的。在有效期内,不需要到服务器重新获取了,提高访问速度,节省服务器带宽资源。

## 设置在 server 中的 location 节点
# expires 1s 秒
# expires 2m 分
# expires 3h 时
# expires 6d 天
# ~* 不区分大小写
location ~* \.(jpg|jpeg|gif|bmp|png|ico|svg|mp4|mp3){
expires 7d; # 缓存1天
}
location ~* \.(css|js){
expires 1d; # 缓存1天
}

6.图片防盗链

   网站中的很多地方都是使用到了图片,如商城中商品中就使用了大量的图片,而为了不使自己辛辛苦苦拍摄的图片被别人调用,同时别人调用也会对服务器产生压力和流量费用,这时就需要防盗链的功能。

location ~* \.(jpg|jpeg|gif|bmp|png|ico|svg|mp4|mp3)$ {
valid_referers none blocked *.1314000.cn 1314000.cn;
if ($invalid_referer) {
return 403;
}
}

Nginx的安装及配置的更多相关文章

  1. nginx的安装与配置

    1.nginx的安装与配置 编译安装nginx需要实现安装开发包组“Development tools”和“Server Platform Development”.“Desktop Platform ...

  2. python-django-fastdfs+Nginx的安装和配置_20191122

    python-django-fastdfs+Nginx的安装和配置 FastDFS文件系统 FastDFS文件系统简介: 是c语言编写的,是淘宝的架构师写的,存储淘宝的图片,后来开源了, fastDF ...

  3. linux下nginx的安装及配置

    一.安装nginx前,我们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可通过如图所示命令进行检测,如果以安装我们可以通过图二所示卸载 ...

  4. linux应用之nginx的安装及配置(centos)

    Ubuntu/CentOS 系统上安装与配置Nginx 一.在线安装: Ubuntu:sudo apt-get install nginx CentOS: sudo yum install nginx ...

  5. Centos7 中Nginx的安装与配置

    安装与配置 1.安装nginx yum intsall nginxsudo systemctl start nginx 启动服务sudo firewall-cmd --permanent --zone ...

  6. 【Nginx】安装&环境配置

    安装依赖包 安装make:yum -y install gcc automake autoconf libtool make 安装g++:yum -y install gcc gcc-c++ 安装pc ...

  7. Centos7下nginx的安装与配置

    说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下 ...

  8. 超详细Nginx的安装和配置教程

    一. 编译安装nginx 下载nginx安装包 wget http://nginx.org/download/nginx-1.8.0.tar.gz 也可以选择其他版本,官网:http://nginx. ...

  9. linux下nginx的安装和配置

    准备目录 [root@sqh ~]# mkdir /usr/local/nginx [root@sqh ~]# cd /usr/local/nginx 添加一些支持和依赖 1.安装gcc 安装redi ...

  10. Linux下Nginx的安装与配置

    安装前需要安装pcre:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/1.解压缩:     tar xjpf pcre-7.8.tar.b ...

随机推荐

  1. ajax请求成功,状态却是200

    AJAX状态为200,这类状态代码表明服务器成功地接受了客户端请求.简单的来说成功发送一个AJAX请求,但是就是不进入success事件,进入error事件. $.ajax({ type:'POST' ...

  2. 饶有特色的 CSS3 展示横条.html

     

  3. eclipse m2eclipse 从Maven的本地库中读取依赖库

    在Mac pro的终端中执行命令 mvn package 后,已经把该工程所需要的依赖库(dependancies)下载到本地库,但在把该工程 import 到 eclipse中时,发现m2eclip ...

  4. 添加-ObjC的含义

    http://www.cnblogs.com/yashi88/p/3551947.html 参考文章 当使用某个第三方库时,遇到 出现"selector not recognized&quo ...

  5. 服务容错保护hystrix

    灾难性雪崩效应 如何解决灾难性雪崩效应 降级 超时降级.资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据.实现一个 fallback 方法, 当请求后端服务出现异常的时候, 可以使用 ...

  6. GeoTools介绍、环境安装、读取shp文件并显示

    GeoTools是一个开放源代码(LGPL)Java代码库,它提供了符合标准的方法来处理地理空间数据,例如实现地理信息系统(GIS).GeoTools库实现了开放地理空间联盟(OGC)规范. Geot ...

  7. MySQL 04

    目录 python操作mysql mysql sql注入问题 问题描述 解决办法 增/删/改 查询 索引 基本概念 索引的原理 mysql索引种类 普通索引 唯一索引 联合索引 创建索引 正确使用索引 ...

  8. Day 03 作业

    简述变量的组成 变量名,赋值符号,变量值 简述变量名的命名规范 变量名应该能反映变量值所描述的状态 变量名必须以字母数字下划线组合且不能以数字开头 变量名不能是关键字 简述注释的作用 让后面的代码失效 ...

  9. Linux(CentOS)安装SQL Server

    1.下载Microsoft SQL Server Red Hat 存储库配置文件 curl -o /etc/yum.repos.d/mssql-server.repo https://packages ...

  10. 从5个方面让你真正了解Java内存模型

    前言 首先我们在了解java内存模型之前先看一下计算机内存模型,理解了计算机内存模型的话后面在看JMM就会简单的多. 计算机内存 计算机是由CPU.主存.磁盘等组成的(简单引出问题熬)我们都知道计算机 ...