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 ...
随机推荐
- 实战!轻松搭建图像分类 AI 服务
人工智能技术(以下称 AI)是人类优秀的发现和创造之一,它代表着至少几十年的未来.在传统的编程中,工程师将自己的想法和业务变成代码,计算机会根据代码设定的逻辑运行.与之不同的是,AI 使计算机有了「属 ...
- elementUI最新版的el-select使用filterable无效无法匹配正确搜索结果的Bug解决办法
Bug描述: 今天做开发时遇到一个elementUI存在的bug. 当el-select使用filterable功能搜索时,如果你恰巧使用的是微软拼音输入法,那么你有可能会遇到搜索结果和输入的值不匹配 ...
- mongodb的部署
集群mongdb https://www.cnblogs.com/littleatp/p/8563273.html https://www.mongodb.com/download-center/co ...
- ubuntu 下 shell 搜索命令
一.在当前目录及其子目录查找以mesos开头,并以.jar结尾的文件,并打印出来 sudo find ./ -name mesos*.jar -print 二.whereis, locate 也有类似 ...
- 分析Crash文件
应用在没有发布前,可以通过打印log很方便的查看错误信息.但是发布后,就需要根据Crash文件来定位了. 将手机连接电脑,通过XCode获取Crash文件.Window ->Devices -& ...
- git配置文件—— .editorconfig
参考文档 editorconfig官方文档 github/editorconfig/wiki文档 一 概述 editorConfig不是什么软件,而是一个名称为.editorconfig的自定义文件. ...
- Python3 网络编程小练习
三次握手.四次挥手图示意图 基于TCP开发一款远程cmd程序 # server.py import socket import subprocess server = socket.socket() ...
- CentOS 8安装
1.VMware workstation14Pro安装 下载蓝点网,序列号也有,直接输入,永久激活 2.CentOS8下载 CentOS8下载地址:清华源 3.CentOS8安装
- C++类成员默认初始值
有时候我们会不给C++类成员变量赋初始值,或是因为忘记在构造函数中指定(C++11可以写在类内),或是觉得没有必要写.然而,因为觉得编译器会把变量赋成0而不写是错误的.本文通过C++标准来解释这个问题 ...
- 一款 Postman 的开源替代品: Postwoman
1. 前言 大家都知道,Postman是一个非常受欢迎的API接口调试工具,提供有Chrome扩展插件版和独立的APP,不过它的很多高级功能都需要付费才能使用. 如果你连Postman都还没有用过,不 ...