Nginx(一)--nginx的初步认识及配置
什么是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的初步认识及配置的更多相关文章
- nginx+php 在windows下的简单配置安装
开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:h ...
- Nginx + Tomcat Windows下的负载均衡配置
Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...
- nginx下目录浏览及其验证功能配置记录
工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果;而Nginx的目录列表功能默认是关闭的,如果需要打开Nginx的目录列表功能,需要手动配置, ...
- Linux下Nginx+Tomcat负载均衡和动静分离配置要点
本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...
- Flask+Nginx+uWSGI在Ubuntu服务器上的配置
Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...
- nginx 反向代理 与 Apache backend的配置联合配置
nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1. 设置域名, 子域名映射到指定服务器ip ...
- 【nginx】负载均衡和proxy的配置
简介 使用upstream模块实现nginx负载均衡使用nginx_upstream_check_module模块实现后端服务器的健康检查使用nginx-sticky-module扩展模块实现Cook ...
- nginx(三)初步搭建nginx虚拟主机
上面就是nginx基于域名.ip访问的配置,掌握住格式,就很好配置了. 一.基于域名的虚拟主机的配置:1.我们在此复习一下DNS的配置:[root@mgmserver /]# hostnamemgms ...
- Nginx 笔记与总结(3)配置虚拟主机
Nginx 重启的另外一种方式,相当于 kill -HUP `cat /usr/local/nginx/logs/nginx.pid`: /usr/local/nginx/sbin/nginx -s ...
随机推荐
- nyoj 113-字符串替换 (python replace, try ... except)
113-字符串替换 内存限制:64MB 时间限制:3000ms 特判: No 通过数:31 提交数:71 难度:2 题目描述: 编写一个程序实现将字符串中的所有"you"替换成&q ...
- java的Io流机制的学习
IO流机制 File类的使用 File类的构造方法 File(URI uri) File(String pathname) File(File parent, String child) File(S ...
- Openlayers Projection导致经纬度颠倒问题
问题: openlayers3调用TileWMS接口,实现Openlayers加载Geoserver转发的ArcGIS切片时,web墨卡托(wkid3857)没有问题,但是WGS84(wkid4326 ...
- 20191031-9 beta week 1/2 Scrum立会报告+燃尽图 07
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9917 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 ...
- node.js安装express框架(1)
一.全局安装express 使用express首先确保你的node.js已经安装好了环境变量配置成功,安装了npm或者cnpm 你可以在终端上面输入node -v查看你的node版本号 打开cmd终端 ...
- 继上篇-jquery ajax提交 本篇用ajax提交的数据去数据库查询
上篇讲到如何用jquery ajax提交数据至后台,后台接收并返回给ajax.https://www.cnblogs.com/tiezhuxiong/p/11943328.html 今天我们把数据传到 ...
- 2019-9-25:渗透测试,基础学习,初识Hydra,BP爆破密码
一,使用Hydra爆破ubuntu的SSH服务 输入命令,hydra -l root -P password.txt 192.168.20.128 ssh Hydra工具,基本参数说明 -l:指定用户 ...
- php+redis实现注册、删除、编辑、分页、登录、关注等功能
本文实例讲述了php+redis实现注册.删除.编辑.分页.登录.关注等功能.分享给大家供大家参考,具体如下: 主要界面 连接redis redis.php <?php //实例化 $red ...
- MySQL将一个表的查询结果作为本表的查询条件更新数据
先建一张S01人口统计信息表: drop table if exists S01人口统计信息; /*================================================== ...
- 基于ManagedDataAccess开发的OracleDBHelpe工具集伸手党的福音
在使用前先加入ManagedDataAccessDLL文件方可使用 添加方法:右键项目.点击管理NuGet程序包,点击浏览,在输入框内输入ManagedDataAccess,再点击安装即可 Oracl ...