反向代理常见的lvs、haproxy。

缓存服务常见的。squid。vanish。常见的前端缓存。
Apache是多进程的web服务器,Nginx是多线程的web服务器。

Nginx的特点,对静态能力强,远胜Apache。对动态的没有Apache好。
Nginx小,方便简单灵活,比较具有发展潜力的软件,在性能上比Apache占用资源更少,对静态的处理更少,
Nginx的特性。是开源的,支持高并发的,高性能的,资源消耗少。
Nginx的三大功能

可以充当web服务
反向代理。(可以充当负载均衡,)
可以当缓存服务

Nginx的网路模型是同过异步io的模型epoll实现的
select是同步i/o阻塞网路模型。epoll是异步i/o非阻塞模型

编译,先安装支持包
pcre-devel OpenSSL-devel
创建程序用户Nginx。
解压缩。编译
编译的时候指定按照模块./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.10./ --with-http_stub_status_module --with-http_ssl_module && make && make install
给Nginx创建软连接

修改映射文件 vim /etc/hosts

修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf
worker_processes ;(工作的进程数,一般工作中服务器有几核就写几,最多不超过2倍)
events {(时间函数)
worker_connectiongs ;(进程里边的线程数,默认1024,一般我们写成他的20倍,极限65535)
}
http{
include mime.types;
default_type application/octet-stream;(默认的类型)
sendfile on;(开启Nginx的高效传输功能)
keppalive_timeout ;(连接保持时间时间秒为单位,好处会减低三次握手的额外开销,tigoa)
server{ (一个server就带表一个网站)
listen ;(监听的端口)
server_name localhost;(域名)
location / {
root html;(代表网页目录是从哪里开始的。是想对路径,相对于Nginx的安装目录)
index index.html index.htm;(索引,只的目录时那个。)
}
}
}
```

需要include导入文件脚本的路径是相对于脚本放置的目录的相对路径

例如:include  extra/www.conf

一个服务器搭建多个网站
有3种方法。
1.基于不同域名的虚拟网站
2.基于不同端口的虚拟网站
3.基于不同ip的虚拟网站

想要阻止非法用户的访问,需要在新开一个web页面的配置

```
server{
listen default_server;
server_name _;
location / {
return ;
}
}
```

状态信息也开启

```
server{
listen ;
server_name status.yuming.com;
location{
  stub_status on;(开启健康状态)
  access_log off;(不开启日志)
  allow ip地址;(只容许什么地址查看)
  deny all;(拒绝一起连接)
    }
}
```

开启错误日志不要在函数里写,
error_log logs/error.log;
命令curl是模仿URl的,
参数-v能看详细的过程。
location 是Nginx里边非常重要的函数,可以同过正则表达式来过滤不同的URL里的uri部分。匹配到不同的uri进入到不同的location里也就可以看到不同的网页了
所以我们要明白如何过滤,和过滤的优先级。精确匹配>特殊正则>正则匹配>字符串匹配>默认匹配。
匹配是前缀匹配。
"="是精确匹配,不能有别的部分。只匹配uri部分。
单独写/是模糊查找,含有根就可以。是默认匹配是优先级最低的。
~代表进行正则。*表示不区分大小写正则匹配
^~是特殊的正则匹配,一旦加了这个后边的的东西匹配优先级搞过正则。

重写,替换域名

写法:rewrite 把什么 匹配成什么 permanent
有4种标记。last 。break redirect permanent
替换域名
if ($http_host ~* "^(.*)\.yunjisuan\.com"){
set $domke $;
rewrite ^(.*) http://www.yunjisuan.com/$domke break;
}

给状态网页加密,需要安装一个服务httpd,要有htpasswd这个命令

命令;htpasswd -bc /usr/local/nginx/conf/htpasswd yunjiuan(用户) (密码)
在sever的location里加入
auth_basic "题目";
auth_basic_user_file 文件的绝对路径;

Nginx的安全机制,在找不到首页的情况下将所有网页都显示,默认是关闭的。Apache是默认开启的,找不到首页Nginx报错403,是触发了安全机制,将这个给拒绝了,想要开启需要在配置文件的server里添加

autoindex on;

nginx的编译,和简单的配置问题的更多相关文章

  1. 初识Nginx及编译安装Nginx

    初识Nginx及编译安装Nginx 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...

  2. (转载)学校搭建使用nginx同时编译rtmp-module进行直播的技术文档

    原文地址:学校搭建使用 nginx 同时编译 rtmp-module 进行直播的技术文档 转载自我的大佬同学 MetalkgLZH.学校有几次需要全校观看网络直播的情况,但是学校的带宽不允许所有的班一 ...

  3. 【01】Nginx:编译安装/动态添加模块

    写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...

  4. Nginx 的编译安装和URL地址重写

    本文转自:http://www.178linux.com/14119#rd?sukey=ecafc0a7cc4a741b573a095a3eb78af6b4c9116b74d0bbc9844d8fc5 ...

  5. CentOS6.5 Nginx优化编译配置[续]

    继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...

  6. 在openwrt上编译最简单的一个ipk包文件

    1 什么是opkg Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准.常用于路由.交换机等嵌入式设备中,用来管理软件包的安装升级与下载. opkg updat ...

  7. nginx配合IIS实现简单负载均衡

    1.IIS 部署两个站点端口分别为8081和8082 8081站点和8082站点如下[随便写了个没有样式的很丑的页面],我特意加了111和222区分     2.设置nginx配置文件,实现简单的负载 ...

  8. Nginx负载均衡配置简单配置方法

    http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...

  9. nginx跨域的简单应用

    nginx跨域的简单应用 要求:1.浏览器访问print.qianbaihe.wang/zt 直接调转至 www.flybirdprint.com/zt,浏览器显示域名不变. server { lis ...

随机推荐

  1. GitHub上最热门的11款开源安全工具

    恶意软件分析.渗透测试.计算机取证——GitHub托管着一系列引人注目的安全工具.足以应对各类规模下计算环境的实际需求.  作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条着名的原则甚至是信条 ...

  2. Spring-1-E Game(HDU 5011)解题报告及测试数据

    Game Time Limit:1000MS     Memory Limit:65536KB Description Here is a game for two players. The rule ...

  3. tomcat源码调试

    三.tomcat目录结构 tomcat的下载安装有很多教程,不再赘述. 现在的tomcat已经到9了,当tomcat下载安装完成后,其目录大致如下:     除了上面的文件夹,还有四个文件:     ...

  4. QML学习之浅谈Window

     转载地址:http://blog.csdn.net/kanchuan1905/article/details/53762788 在Qt Quick的世界里,Window对象用于创建一个与操作系统相关 ...

  5. 激活webstorm(作为一个伪前端,偶尔用用)

    推荐博客:https://blog.csdn.net/voke_/article/details/76418116 我试的方法一.

  6. PHP秒杀系统全方位设计分析(一)

    秒杀系统特点人多商品少时间短流量高外挂机器[黄牛和非黄牛] 技术分析瞬间高并发的处理能力多层次的分布式处理能力人机交互与对抗[12306验证码图片] 技术选型分析Linux+Nginx+PHP+Mys ...

  7. 如何用纯 CSS 创作一个摇摇晃晃的 loader

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览.https://codepen.io/comehope/pen/oyJvpe 可交互视频 此 ...

  8. Spring提前加载与懒加载

    首先,Spring默认是提前加载,这意味着当项目启动,spring初始化,spring会把所有的扫描包下的 ,所有带spring 注解(@Component.@Repository.@Service. ...

  9. 20144303 《Java程序设计》第三周学习总结

    20144303 <Java程序设计>第三周学习总结 教材学习内容总结 •对象是存在的具体实体,具有明确的状态和行为,类是具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属 ...

  10. mongodb入门很简单(1)

    mongodb简介: 如前边介绍的两个键-值数据库: memcached和redis属于(key/value)数据库: 而mongodb是文档数据库:存储的是文档(Bson->json的二进制) ...