什么是Nginx

是一个高性能的反向代理服务器
正向代理代理的是客户端
反向代理代理的是服务端

Apache、Tomcat、Nginx

静态web服务器
jsp/servlet服务器 tomcat

安装Nginx

1. 下载tar包  (地址:http://nginx.org/en/download.html)

安装make:

yum -y install gcc automake autoconf libtool make

  安装g++:

yum install gcc gcc-c++

遇到yum在使用,ps -ef |grep yum,查出线程id ,kill -9 id 删除,如果删除不了,就用rm -f /var/run/yum.pid 删除,还不行,重启虚拟机

2. tar -zxvf nginx.tar.gz 解压  cd 进入目录
3. ./configure [--prefix]   ./configure --prefix=/root/ngnix
4. make && make install

启动和停止

1. sbin/nginx
2. ./nginx -s stop

3. ./nginx -s reload

启动后,访问虚拟机ip地址,出现

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com. Thank you for using nginx.

  若出现 forbidden 403,则在配置中加入当前用户root,重新启动nginx即可。(若安装到root目录下,其他用户(nginx,www)----->访问路径就不可以在/root下)

nginx.conf

Main
event
http

虚拟主机配置

server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}

  

基于ip的虚拟主机
  不演示

基于端口号的虚拟主机

在nginx.conf中添加如下配置,后重新加载配置

server {
listen 8080;
server_name localhost;
location / {
root html;
index index.html;
}
}

 访问http://192.168.20.130:8080 

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com. Thank you for using nginx.

  

基于域名的虚拟主机
www.guapaoedu.com / ask.gupaoedu.com / git.gupaoedu.com / bbs.gupaoedu.com

vi conf/nginx.conf,在html文件夹下添加 bbs.html 、ask.html,reload配置

在本地C:\Windows\System32\drivers\etc 的host文件下绕过解析,添加对应ip映射

server {
listen 80;
server_name www.gupaoedu.com;
location / {
root html;
index index.html;
}
}
server {
listen 80;
server_name bbs.gupaoedu.com;
location / {
root html;
index bbs.html;
}
}
server {
listen 80;
server_name ask.gupaoedu.com;
location / {
root html;
index ask.html;
}
}

  进行访问,如果无法访问

  1.cmd打开命令窗口, ipconfig /flushdns 刷新dns解析缓存

  2.注意 输入ask.gupaoedu.com 的游览器前缀时https 还是http,必须是http才行

  http://bbs.gupaoedu.com/ 页面显示bbs.html的内容

location
配置语法
location [= | ~* | ^~ ] /uri/ {...}
配置规则
location = /uri 精准匹配
location ^~ /uri 前缀匹配
location ~ /uri
location / 通用匹配
规则的优先级

1 location = /
2 location = /index
3 location ^~ /article/
4 location ^~ /article/files/
5 location ~ \.(gif|png|js|css)$
6 location /
http://192.168.11.154/ ->1
http://192.168.11.154/index ->2
http://192.168.11.154/article/files/1.txt ->4 找最长的路径匹配(路径有重复会报错)
http://192.168.11.154/mic.png ->5

  

1. 精准匹配是优先级最高
2. 普通匹配(最长的匹配)
3. 正则匹配

实际使用建议

location =/ {
}
location / {
}
location ~* \.(gif|....)${
}

  Nginx模块

反向代理、email、nginx core。。。

模块分类

1. 核心模块 ngx_http_core_module
2. 标准模块 http模块
3. 第三方模块

ngx_http_core_module

server{
listen port
server_name
root ...
}

  location 实现uri到文件系统路径的映射

2. error_page

ngx_http_access_module

实现基于ip的访问控制功能
1、allow address | CIDR | unix: | all;
2、deny address | CIDR | unix: | all;
自上而下检查,一旦匹配,将生效,条件严格的置前

  

如何添加第三方模块
1. 原来所安装的配置,你必在重新安装新模块的时候,加上
2. 不能直接make install

configure --prefix=/data/program/nginx

  安装方法

./configure --prefix=/安装目录 --add-module = /第三方模块的目录
./configure --prefix=/root/nginx --with-http_stub_status_module --with-http_random_index_module
make
cp objs/nginx $nginx_home/sbin/nginx
需要先关闭nginx,输入y确认复制
然后看能否正常启动nginx

 http_stub_status_module

在nginx.conf中添加

location /status {
stub_status;
}

  访问:http://192.168.20.130/status

Active connections: 2
server accepts handled requests
3 3 9
Reading: 0 Writing: 1 Waiting: 1

  

Active connections:当前状态,活动状态的连接数
accepts:统计总值,已经接受的客户端请求的总数

handled:统计总值,已经处理完成的客户端请求的总数
requests:统计总值,客户端发来的总的请求数
Reading:当前状态,正在读取客户端请求报文首部的连接的连接数
Writing:当前状态,正在向客户端发送响应报文过程中的连接数
Waiting:当前状态,正在等待客户端发出请求的空闲连接数

http_random_index_module

www.gupaoedu.com
随机显示主页
一般情况下,一个站点默认首页都是定义好的index.html、index.shtml等等,如果想站点下有很多页面想随机展示给
用户浏览,那得程序上实现,很麻烦,使用nginx的random index即可简单实现这个功能,凡是以/结尾的请求,都
会随机展示当前目录下的文件作为首页
  \1. 添加random_index on 配置,默认是关闭的

location / {
root html;
random_index on;
index index.html index.htm;
}

  \2. 在html目录下创建多个html页面

Nginx(一)--nginx的初步认识及配置的更多相关文章

  1. nginx+php 在windows下的简单配置安装

    开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:h ...

  2. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  3. nginx下目录浏览及其验证功能配置记录

    工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果;而Nginx的目录列表功能默认是关闭的,如果需要打开Nginx的目录列表功能,需要手动配置, ...

  4. Linux下Nginx+Tomcat负载均衡和动静分离配置要点

    本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...

  5. Flask+Nginx+uWSGI在Ubuntu服务器上的配置

    Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...

  6. nginx 反向代理 与 Apache backend的配置联合配置

    nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1.  设置域名, 子域名映射到指定服务器ip ...

  7. 【nginx】负载均衡和proxy的配置

    简介 使用upstream模块实现nginx负载均衡使用nginx_upstream_check_module模块实现后端服务器的健康检查使用nginx-sticky-module扩展模块实现Cook ...

  8. nginx(三)初步搭建nginx虚拟主机

    上面就是nginx基于域名.ip访问的配置,掌握住格式,就很好配置了. 一.基于域名的虚拟主机的配置:1.我们在此复习一下DNS的配置:[root@mgmserver /]# hostnamemgms ...

  9. Nginx 笔记与总结(3)配置虚拟主机

    Nginx 重启的另外一种方式,相当于 kill -HUP `cat /usr/local/nginx/logs/nginx.pid`: /usr/local/nginx/sbin/nginx -s ...

随机推荐

  1. Mysql备份还有这么多套路,还不了解下?

    逻辑备份和物理备份 逻辑备份 逻辑备份用于备份数据库的结构(CREAET DATABASE.CREATE TABLE)和数据(INSERT),这种备份类型适合数据量小.跨SQL服务器.需要修改数据等场 ...

  2. 领扣(LeetCode)二叉树的所有路径 个人题解

    给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", ...

  3. VLAN实验(4)单臂路由

    1.选择1台Router路由器.2台S3700交换机和4台pc机,并根据实验编址完成此拓扑图. 2.对交换机mengyu-S2建立VLAN (1)建立两个VLAN,VLAN10和VLAN20,并添加描 ...

  4. ubunit 16 安装pip

    pip是一个用来安装和管理python包的工具.已经内置到python2.7.9和python3.4及其以上的版本里. python2.7执行: sudo apt-get install python ...

  5. ZeroC ICE的远程调用框架 AMI与AMD -Why?

    在Ice有两种异步使用的方式,AMI和AMD.AMI是异步方法调用,AMD是异步方法调度(分派).前者用在代理端,后者用在饲服实现端. AMI其实就是在代理端,使用Future机制进行异步调用,而不阻 ...

  6. ReentreantLock:重入锁

    ReentreantLock:重入锁 参考:https://www.cnblogs.com/nullzx/p/4968674.html 一). ReentrantLock与synchronized的区 ...

  7. Nethunter开启ssh服务

    ### 本节用来纪念我和我的Nethunter SSH服务的血泪史 刚安装好Nethunter后,手机的各种功能也是令我眼花缭乱,对手机是爱不释手,可是,手机开启ssh服务之后,电脑无法连接,这就很尴 ...

  8. Tomcat安装和使用

    1.Tomcat简介 Tomcat是Apache开源组织下的开源免费的中小型Web应用服务器,支持javaEE中的servlet和jsp规范. 2.Windows版安装和使用 下载地址:http:// ...

  9. ctf中关于图片的隐写随笔(不全)

    ①JPG图片的结束符,十六进制常为FFD9 ②binwalk的原理是:检查常见的文件头信息,如果不符合,一定有隐藏信息.③JPG是有损压缩,PNG是无损压缩,BMP是不压缩. 隐写的基本原理:图片查看 ...

  10. day20191104笔记

    MyBatis笔记: 一.MyBatis半自动ORM映射框架, 将数据库中的数据和程序中的数据进行自动映射的前提条件 1. 数据库中的字段必须和程序中的属性保持一致 2. 程序中属性的数据类型必须是基 ...