Nginx的安装及配置
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的安装及配置的更多相关文章
- nginx的安装与配置
1.nginx的安装与配置 编译安装nginx需要实现安装开发包组“Development tools”和“Server Platform Development”.“Desktop Platform ...
- python-django-fastdfs+Nginx的安装和配置_20191122
python-django-fastdfs+Nginx的安装和配置 FastDFS文件系统 FastDFS文件系统简介: 是c语言编写的,是淘宝的架构师写的,存储淘宝的图片,后来开源了, fastDF ...
- linux下nginx的安装及配置
一.安装nginx前,我们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可通过如图所示命令进行检测,如果以安装我们可以通过图二所示卸载 ...
- linux应用之nginx的安装及配置(centos)
Ubuntu/CentOS 系统上安装与配置Nginx 一.在线安装: Ubuntu:sudo apt-get install nginx CentOS: sudo yum install nginx ...
- Centos7 中Nginx的安装与配置
安装与配置 1.安装nginx yum intsall nginxsudo systemctl start nginx 启动服务sudo firewall-cmd --permanent --zone ...
- 【Nginx】安装&环境配置
安装依赖包 安装make:yum -y install gcc automake autoconf libtool make 安装g++:yum -y install gcc gcc-c++ 安装pc ...
- Centos7下nginx的安装与配置
说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下 ...
- 超详细Nginx的安装和配置教程
一. 编译安装nginx 下载nginx安装包 wget http://nginx.org/download/nginx-1.8.0.tar.gz 也可以选择其他版本,官网:http://nginx. ...
- linux下nginx的安装和配置
准备目录 [root@sqh ~]# mkdir /usr/local/nginx [root@sqh ~]# cd /usr/local/nginx 添加一些支持和依赖 1.安装gcc 安装redi ...
- Linux下Nginx的安装与配置
安装前需要安装pcre:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/1.解压缩: tar xjpf pcre-7.8.tar.b ...
随机推荐
- 这是一个测试 hello world
第一次写博客,冒着生命危险尝试一下,发说说 搞了半天,发现原创文章在随笔发,我以为在文章目录发,白白在文章那里建了分类,太难了吧我
- 【经验分享】linux交叉编译 - openssl动态库
一.准备工作 1.到openssl官网下载最新版本openssl(如openssl-1.1.1d.tar.gz),上传到linux编译机上(如上传到目录/home/test下),并使用tar -xvf ...
- 使用python实现http服务器
主要使用python实现了一个http服务器.http服务器实现了用户的注册和登录的简单功能,当然还可以继续扩展. 数据的存储使用的是文件,有兴趣的话可以使用数据库进行存储.当然根据个人兴趣而定. 本 ...
- Could not resolve dependencies for project, Failed to read artifact descriptor for
一个可能的原因是由于你的网络从局域网(比如实验室网)切换到了代理网络(比如校园公共网). 方法一:重新切换到非代理网络 办法二:repository 或 dependency 名称不对,比如新repo ...
- Java修炼——反射机制
反射机制常见的作用: 1) 动态的加载类.动态的获取类的信息(属性,方法,构造器) 2) 动态构造对象 3) 动态调用类和对象的任意方法.构造器 4) 动态调用和处理属性 5) 获取泛型信息 6) 处 ...
- 过滤器和监听器实现用户的在线登录人数,以及设置session时长。
过滤器: package com.bjsxt.filter; import java.io.IOException; import javax.servlet.Filter; import javax ...
- VBA/Excel-实例系列-04-求两个数组的交集
原创: Z Excel高效办公之VBA 2017-03-10 Part 1:逻辑过程 已有两个数组,要求单个数组中信息无重复 以最短的数组作为循环,分别判断该数组中的元素是否在另一个数组中 如果某一元 ...
- ARTS-S mac终端ftp命令行上传下载文件
上传 ftp -u ftp://root:123456@10.11.12.3/a.txt a.txt 下载 ftp -o a.txt ftp://root:123456@10.11.12.13/a.t ...
- 【Redis】349- Redis 入门指南
点击上方"前端自习课"关注,学习起来~ 1. 概述 1.1. Redis 简介 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映 ...
- mysql取消严格模式
配置文件my.ini sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改为 s ...