nginx的编译,和简单的配置问题
反向代理常见的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的编译,和简单的配置问题的更多相关文章
- 初识Nginx及编译安装Nginx
初识Nginx及编译安装Nginx 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...
- (转载)学校搭建使用nginx同时编译rtmp-module进行直播的技术文档
原文地址:学校搭建使用 nginx 同时编译 rtmp-module 进行直播的技术文档 转载自我的大佬同学 MetalkgLZH.学校有几次需要全校观看网络直播的情况,但是学校的带宽不允许所有的班一 ...
- 【01】Nginx:编译安装/动态添加模块
写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...
- Nginx 的编译安装和URL地址重写
本文转自:http://www.178linux.com/14119#rd?sukey=ecafc0a7cc4a741b573a095a3eb78af6b4c9116b74d0bbc9844d8fc5 ...
- CentOS6.5 Nginx优化编译配置[续]
继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...
- 在openwrt上编译最简单的一个ipk包文件
1 什么是opkg Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准.常用于路由.交换机等嵌入式设备中,用来管理软件包的安装升级与下载. opkg updat ...
- nginx配合IIS实现简单负载均衡
1.IIS 部署两个站点端口分别为8081和8082 8081站点和8082站点如下[随便写了个没有样式的很丑的页面],我特意加了111和222区分 2.设置nginx配置文件,实现简单的负载 ...
- Nginx负载均衡配置简单配置方法
http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...
- nginx跨域的简单应用
nginx跨域的简单应用 要求:1.浏览器访问print.qianbaihe.wang/zt 直接调转至 www.flybirdprint.com/zt,浏览器显示域名不变. server { lis ...
随机推荐
- ACM-ICPC 2018 南京赛区网络预赛 - J. Sum (找规律+打表)
题意:\(f(i):i\)能拆分成两个数的乘积,且要求这两个数中各自都没有出现超过1次的质因子.每次给出n,求\(\sum_{i=1}^{n}f(i)\) 分析:\(1 \le n \le 2e7\) ...
- JMS--消息头
一个消息对象分为三部分:消息头(Headers),属性(Properties)和消息体(Payload).对于StreamMessage和MapMessage,消息本身就有特定的结构,而对于TextM ...
- python 实现3-2 问候语: 继续使用练习 3-1 中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
names = ['linda', 'battile', 'emly'] print(names[0].title() + " " + "good moning!&quo ...
- JMeter的安装和目录解析
Ubuntu系统中jmeter的安装和目录解析 作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况(如无法登录系统等),请按如下步骤一步一步安装并配置 相关软件下载地址 J ...
- C++——创建类的时候用new与不用new 的区别
转自:https://www.cnblogs.com/tony-li/p/4111588.html C++在创建对象的时候可以采用两种方式:(例如类名为Test) Test test 或者 Test ...
- centos7 安装 gitolite (git服务器)
gitolite简介 轻量级git服务器程序,解决了git权限管理的问题.(git是一个分布式版本控制系统,就是说每个人作为客户端的同时又是服务器)项目GitHub地址:https://github. ...
- 20145302张薇《Java程序设计》第九周学习总结
20145302 <Java程序设计>第九周学习总结 教材学习内容总结 第十六周 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC目的:让Jav ...
- 20145303 实验一 Java开发环境的熟悉(Linux + Eclipse)
20145303 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验题目(4):实现学生成绩管理功能,并进行测试 思路: 对于实现学生成绩管理(student performanc ...
- center os7.2 apache+php+mysql环境配置并设置https访问
本人阿里云购买的center os7.2系统,小程序只支持https,因此需要配置https 安装apache yum -y install httpd systemctl start httpd a ...
- win64 Python下安装PIL出错解决2.7版本 (3.6版本可以使用)
转自:http://blog.csdn.net/lhh31/article/details/51979293 1.软件版本 首先我先安装了 python 2.7 pip是 8.1.2 2.当我要安装 ...