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 ...
随机推荐
- 掌握Thinkphp3.2.0----CURD
TP-----CURD create()创建数据----整理数据 在数据库添加等操作之前,我们首先需要对数据进行创建.何为数据创建,就是接受提交过来的数据,比如表单提交的 POST(默认)数据.接受 ...
- 将时间转换为xxx天前 xxx..前
<?php echo (time_fitle('2016-08-17 17:00:00')); function time_fitle($date){ date_default_timezone ...
- python pip源
pipy国内镜像目前有: http://pypi.douban.com/ 豆瓣 http://pypi.hustunique.com/ 华中理工大学 http://pypi.sdutlinux.o ...
- 页面上使用 Thymeleaf 的内联js不当造成了 java.lang.StackOverflowError: null 问题
由于在页面上内联js使用不当,从而在从 Controller 跳转到页面时发生了以下错误: java.lang.StackOverflowError: null at org.thymeleaf.ut ...
- web app 自适应方案总结 关键字 弹性布局之rem
关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...
- MAC破解软件
作为一个iOS程序开发的工程师,我们需要的是那些辅助的利器 但是这些利器确实需要高价购买的 reveal系统层级关系 Charles网络抓包破解 蓝灯(FQ必备) 小黑冒(搜索必备) Cornerst ...
- 机器学习实战(一)kNN
$k$-近邻算法(kNN)的工作原理:存在一个训练样本集,样本集中的每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对于关系.输入没有标签的新数据后,将新数据的每一个特征与样本集中数据对应的 ...
- iOS蓝牙开发CoreBluetooth快速入门
在iOS开发中,实现蓝牙通信有两种方式,一种是使用传统的GameKit.framework,另一种就是使用在iOS 5中加入的CoreBluetooth.framework. 利用CoreBlueto ...
- 判断网站地址是否是http开头
var url = ""; if(!string.IsNullOrEmpty(Model.WebsiteURL)){ url = Model.WebsiteURL.ToString ...
- Hadoop学习笔记: 安装配置Hive
1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...