Nginx的安装配置
1.安装PCRE库
$ cd /usr/local/
$ https://sourceforge.net/projects/pcre/files/pcre/8.36/
$ tar -zxvf pcre-8.36.tar.gz
$ cd pcre-8.36
$ ./configure
$ make
$ make install
2.安装zlib库
$ cd /usr/local/
$ wget http://zlib.net/zlib-1.2.8.tar.gz
$ tar -zxvf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ ./configure
$ make
$ make install
3.安装ssl
$ cd /usr/local/
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ tar -zxvf openssl-1.0.1j.tar.gz
$ ./config
$ make
$ make install
4.安装nginx
$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
$ ./configure --prefix=/usr/local/nginx
$ make
$ make install
5.启动
$ /usr/local/nginx/sbin/nginx
报错 nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
32位系统
[root@localhost ~]# ln -s /usr/local/lib/libpcre.so.1 /lib
64位系统
[root@localhost ~]# ln -s /usr/local/lib/libpcre.so.1 /lib64
然后在启动nginx就OK了
6.重启、停止、强制关闭
$ /usr/local/nginx/sbin/nginx –s reload 重启
$ /usr/local/nginx/sbin/nginx –s stop 停止
$ /usr/local/nginx/sbin/nginx –t 测试配置文件是否正常
$ pkill nginx 强制关闭
7、配置
配置文件位于安装目录conf下
nginx/conf/nginx.conf
Nginx配置文件常见结构的从外到内依次是 http,server location等等,缺省的继承关系从外到内,也就是说内层块会自动获取外层块的值作为缺省值。
- Server
接收请求的服务器将不同请求按规则转发到不同的后端服务器上,在nginx中可以通过构建虚拟主机的概念来将这些不同的服务配置进行隔离。
server {
listen 80;
server_name localhost;
root html;
index index.html index.htm;
}
- listen 指定监听端口
- server_name 指定ip或域名
- index 设定访问的默认首页地址
- root 指定虚拟主机的网页根目录,这个地方可以是相对地址或绝对地址
当server超过2个时,建议不同的虚拟主机的配置放在各自独立的文件中,通过在主配置文件nginx.conf加上include指令包含近下来,便于管理。
include vhost/*.conf
- Localtion
每个url请求都会对应一个服务,nginx进行处理转发或者是本地的一个文件路径,或者是其它服务器的一个服务路径,而这个路径匹配时通过location来进行的。我们快车将server当做对应一个域名进行的配置,而location是在一个域名下对更精细的路径进行配置。
可以将root和index指令放到一个location中,那么只有在匹配到这个location时才会访问root后的内容
location / {
root /data/www/host2;
index index.html index.htm;
}
- location匹配规则
~ 波浪线表示执行一个正则匹配,区分大小写
~* 表示执行一个正则匹配,不区分大小写
^~ 表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般来匹配目录
= 进行普通字符精确匹配 - 匹配例子
location = / {
# 只匹配"/".
[ configuration A ]
}
location / {
# 匹配任何请求,因为所有请求都是以"/"开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
[ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求.
# 但是所有 /images/ 目录的请求将由 [Configuration C]处理.
[ configuration D ]
} 请求:
/ -> 符合configuration A
/documents/document.html -> 符合configuration B
/images/1.gif -> 符合configuration C
/documents/1.jpg ->符合 configuration D - 静态文件映射
访问文件的配置主要有root和aliasp's两个指令,这两个指令的区别容易能混。
alias后跟的指定目录是精准的,并且末尾必须加/
location /c/ {
alias /a/;
}如果访问站点http://location/c访问的就是/a/目录下的站点信息
root后跟的指定目录是上级目录,并且该上级目录下要含有和location后指定名称的同名目录才行
location /c/ {
root /a/;
}这时访问站点http://location/c访问的就是/a/c目录下的站点信息。如果你需要将这个目录展开,在这个location的末尾加上「autoindex on; 」就可以了
- 转发
配置起来很简单比如我要将所有的请求到转移到真正提供服务的一台机器的8001端口,只要这样:
location / {
proxy_pass 172.16.1.1:8001;
}这样访问host时,就都被转发到 172.16.1.1的8001端口去了。
- 负载均衡
在upstream中指定了一组机器,并将这个组命名为myserver,这样在proxy_pass中只要将请求转义到myserver,这个upstream中我们就实现了在四台机器的反向代理加负载均衡。其中ip_hash指明了负载均衡是按ip地址进行分配,另外还有轮询、指定权重轮询、fail、url_hash几种调度算法。
upstream myserver; {
ip_hash;
server 172.16.1.1:8001;
server 172.16.1.2:8002;
server 172.16.1.3;
server 172.16.1.4;
}
location / {
proxy_pass http://myserver;
}
Nginx的安装配置的更多相关文章
- nginx初级安装配置
nginx初级安装配置 转自:(lykyl原创)http://www.cnblogs.com/lykyl/archive/2012/11/21/2781077.html 实验环境:系统 CENTOS5 ...
- nginx+tomcat安装配置
nginx+tomcat安装配置 # nginx+tomcat安装配置 #创建网站目录 mkdir -p /www/wwwroot cd /www #安装配置 wget http://mirrors. ...
- gerrit+nginx+centos安装配置
安装环境 centos 6.8 gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-ful ...
- Nginx的安装配置和tomcat负载均衡
Nginx简介 什么是nginx? Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试ngi ...
- Nginx+nagios安装配置
Nginx+nagios安装配置 [root@Nagios ~]# vi /etc/nginx/nginx.conf server { listen ; server_name localhost; ...
- nginx php-fpm安装配置 CentOS编译安装php7.2
CentOS编译安装php7.2 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说.如果你是升级或新安装,那你首先需要考虑php7和程序是 ...
- 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置
Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...
- centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置
前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬 ...
- Nginx服务安装配置
1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...
- Django Nginx+uwsgi 安装配置
使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttp ...
随机推荐
- 软件测试基础homework2
1.for循环里的i>0应该改为i>=0 test1:x=[3,2,5];y=2 test2:x=[3];y=2 test3:x=[2,3,5];y=4 2.for循环里的i应该倒序 te ...
- java web filter 学习(2)
本文主要对filter的基本使用进行了讲解,其中涉及到了 filter是什么 一个filter处理一个jsp 多个filter处理一个jsp filter是什么 Filter 是java下的一种过滤器 ...
- iOS duplicate symbol 变量 in 类名 报错
该错误信息是我在一个.h文件里申明了公共变量,然后在其他类里重复使用. Build Settings ->No Common Blocks默认为YES,编译器就报错了,需要修改Build Set ...
- eclipse下SVN同步时忽略target文件夹
直接干货:window-->preferences-->team-->Ignored Resource-->Add Pattern-->新建一个*/target/*--& ...
- css3几个新属性
1.text-shadow 文字阴影 p{ text-shadow:2px 2px 10px #000; } 四个参数,依次: a:水平偏移 b:垂直偏移 c:阴影程度 d:阴影颜色 2.word- ...
- linq 左连接
var list = (from item in vall join item3 in v1 on new { item.FItemID, item.FAuxPropID } equals new { ...
- Tomcat-问题解决
1,两种方法解决tomcat的 Failed to initialize end point associated with ProtocolHandler ["http-apr-8080& ...
- iBatis简单入门教程
iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快.如果不需要太多复杂的功能,iBatis 是能够满足 ...
- Android四大核心组件之ContentProvider
实验内容 学习ContextProvider用法 编码实现简单ContextProvider功能 实验要求 通过简单代码了解ContextProvider功能和用法 实验步骤 ContextProvi ...
- IIS/IIS Express/Asp.net配置片段记录
事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了, ...