CentOS 7.4 Tengine安装配置详解(二)

三、配置虚拟主机:

1、配置基于端口的虚拟主机:

(1)在http{}配置段中新增如下server:

server {

listen 8000;

server_name localhost;

access_log /usr/local/tengine/logs/localhost8000-access.log main;

location / {

root /vhosts/web;

index index.html index.htm;

}

}

(2)创建测试页:# mkdir -pv /vhosts/web  # echo "<h3>VirtualHost Port 8000</h3>" > /vhosts/web/index.html

(3)重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :8000

(4)访问测试页:http://192.168.1.222:8000

2、配置基于IP的虚拟主机:

(1)新增一个IP:

# ip addr list | grep ens

# ip addr add 192.168.1.250/24 dev ens160

# ip addr list | grep ens

(2)在http{}配置段中新增如下server:

server {

listen 192.168.1.222:80;

server_name localhost;

access_log /usr/local/tengine/logs/192.168.1.222-access.log main;

location / {

root /vhosts/ip/192.168.1.222;

index index.html index.htm;

}

}

server {

listen 192.168.1.250:80;

server_name localhost;

access_log /usr/local/tengine/logs/192.168.1.250-access.log main;

location / {

root /vhosts/ip/192.168.1.250;

index index.html index.htm;

}

}

(3)创建测试页:

# mkdir -pv /vhosts/ip/{192.168.1.222,192.168.1.250}

# echo "<h3>VirtualHost 192.168.1.222</h3>" > /vhosts/ip/192.168.1.222/index.html

# echo "<h3>VirtualHost 192.168.1.250</h3>" > /vhosts/ip/192.168.1.250/index.html

(4)重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

(5)访问测试页:

http://192.168.1.222

http://192.168.1.250

3、配置基于主机名的虚拟主机:

(1)在http{}配置段中新增如下server:

server {

listen 80;

server_name bbs.vhosts.com;

access_log /usr/local/tengine/logs/bbs.vhosts.com-access.log main;

location / {

root /vhosts/bbs;

index index.html index.htm;

}

}

server {

listen 80;

server_name blog.vhosts.com;

access_log /usr/local/tengine/logs/blog.vhosts.com-access.log main;

location / {

root /vhosts/blog;

index index.html index.htm;

}

}

(2)创建测试页:

# mkdir -pv /vhosts/{bbs,blog}

# echo "<h3>VirtualHost bbs.vhosts.com</h3>" > /vhosts/bbs/index.html

# echo "<h3>VirtualHost blog.vhosts.com</h3>" > /vhosts/blog/index.html

(3)重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

(4)修改本地Windows 10系统的hosts文件:

C:\Windows\System32\drivers\etc\hosts,末尾新增代码:192.168.1.222 bbs.vhosts.com blog.vhosts.com

(5)访问测试页:

http://bbs.vhosts.com

http://blog.vhosts.com


四、基于来源IP实现访问控制

1、在server{}配置段中新增如下location:

server {

listen 80;

server_name localhost;

root html;

index index.html index.htm;

location / {

# 网段的写法:192.168.1.0/24

deny 192.168.1.222;

# 从上到下进行匹配,类似iptables

allow all;

}

location /bbs {

if ( $remote_addr = 192.168.1.146 ) {

return 404;

}

}

}

2、创建测试页:

# mkdir -pv /usr/local/tengine/html/bbs

# echo "<h3>Hello World</h3>" > /usr/local/tengine/html/bbs/test.html

3、重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

4、分别使用192.168.1.146、192.168.1.222和192.168.199.157作为客户端进行访问:

(1)192.168.1.146:# yum -y install elinks  # elinks -dump http://192.168.1.222

# elinks -dump http://192.168.1.222/bbs/test.html

(2)192.168.1.222:# yum -y install curl  # curl http://192.168.1.222

# curl http://192.168.1.222/bbs/test.html

(3)192.168.199.157:


五、基于用户名/密码实现访问控制:

1、在server{}配置段中新增如下location:

server {

listen 80;

server_name localhost;

root html;

index index.html index.htm;

location /bbs {

auth_basic "Please Login";

auth_basic_user_file /usr/local/tengine/conf/.htpasswd;

}

}

2、创建测试页:

# mkdir -pv /usr/local/tengine/html/bbs

# echo "<h3>Login Successful</h3>" > /usr/local/tengine/html/bbs/test.html

3、创建账号密码文件:

# yum -y install httpd-tools

# cd /usr/local/tengine/conf

# htpasswd -c -m .htpasswd keyso     //用户名keyso,密码123456

========================================================

基于文件实现basic身份认证时所使用的账号密码生成工具:htpasswd

常用选项:

-c:自动创建账号文件(仅在添加第一个用户时使用该选项)

?  -m:使用MD5加密用户密码

?  -s:使用SHA加密用户密码

?  -D:删除指定用户

========================================================

4、重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

5、访问测试页:

http://192.168.1.222

http://192.168.1.222/bbs/test.html

六、定义status页面:

1、在server{}配置段中新增如下location:

server {

listen 80;

server_name localhost;

location /status {

stub_status on;

allow 192.168.101.120;

deny all;

access_log off;

}

}

2、重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

3、Windows 10访问状态页:http://192.168.1.222/status

说明:

?  Active connections:当前活动的客户端连接数

?  accepts:已经接收过的客户端连接总数

?  handled:已经处理过的客户端连接总数

?  requests:客户端的请求总数

?  request_time:请求时间

?  Reading:正在读取的客户端请求数

?  Writing:正在处理请求或发送响应报文的连接数

?  Waiting:等待发出请求的空闲连接数


七、禁止访问某一类资源:

1、在server{}配置段中新增如下location:

server {

listen 80;

server_name localhost;

location ~ \.(txt|doc)$ {

if (-f $request_filename){

root html;

break;

}

deny all;

}

}

2、创建测试页:

# echo "<h3>txt file</h3>" > /usr/local/tengine/html/test.txt

# echo "<h3>doc file</h3>" > /usr/local/tengine/html/test.doc

# echo "<h3>html file</h3>" > /usr/local/tengine/html/test.html

3、重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

4、访问测试页:

http://192.168.1.222/test.txt

http://192.168.1.222/test.doc

http://192.168.1.222/test.html


八、root和alias(路径别名):

1、在server{}配置段中新增如下location:

server {

listen 80;

server_name localhost;

index index.html index.htm;

location /bbs {

root /vhosts/bbs;

}

location /blog {

alias /vhosts/blog;

}

}

2、创建测试页:

# mkdir -pv /vhosts/bbs/bbs

# mkdir -pv /vhosts/blog

# echo "<h3>root --> /vhosts/bbs/bbs/index.html</h3>" > /vhosts/bbs/bbs/index.html

# echo "<h3>alias --> /vhosts/blog/index.html</h3>" > /vhosts/blog/index.html

3、重载服务:# nginx -t  # nginx -s reload  # ss -tunlp | grep :80

4、访问测试页:

http://192.168.1.222/bbs

http://192.168.1.222/blog

原文地址:http://blog.51cto.com/qiuyue/2116119

时间: 2024-10-09 00:05:40

CentOS 7.4 Tengine安装配置详解(二)的相关文章

CentOS 7.4 Tengine安装配置详解(一)

一.安装配置Tengine: Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验.它的最终目标是打造一个高效.稳定.安全.易用的Web平台. 演示环境: ?  OS:CentOS 7.4 x86_64 ?  IP:192.168.1.222 1.安装开发环境:# yum -y groupinstall "Development Tools&quo

CentOS 7.4 Tengine安装配置详解(五)

十四.配置Tengine支持HTTPS 1.演示环境: IP 操作系统 角色 192.168.1.222 CentOS   7.4 Tengine服务器 192.168.1.145 CentOS   6.9 自建CA服务器 备注:Tengine和CA可以部署于同一台服务器 2.修改配置文件nginx.conf,创建基于主机名的虚拟主机: server { listen 80; server_name web.vhosts.com; location / { root /vhosts/web; i

CentOS 7.4 Tengine安装配置详解(六)

十五.反向代理: 1.演示环境: IP 操作系统 节点 角色 192.168.1.222 CentOS 7.4 node1 Tengine服务器 192.168.1.144 CentOS 6.9 node2 Apache服务器 2.node2安装Apache服务,并创建测试页: # yum -y install httpd # mkdir -pv /var/www/html/bbs # echo "<h3>httpd on node2</h3>" > /v

CentOS 7.4 Tengine安装配置详解(三)

九.根据HTTP响应状态码自定义错误页: 1.未配置前访问一个不存在的页面:http://192.168.1.222/abc/def.html,按F12后刷新页面 2.在server{}配置段中新增如下location: server { listen 80; server_name localhost; location /bbs { root /vhosts/bbs; error_page 404 404/404.html; } } 3.创建目录,并上传自定义错误页:# mkdir -pv

CentOS 7.4 Tengine安装配置详解(四)

十三.将请求的URL基于正则表达式进行rewrite重写 使用Tengine提供的全局变量或自定义变量,结合正则表达式和标志位实现URL重写以及重定向,通常可以实现http跳转至https.域名1跳转至域名2.URL1跳转至URL2等功能. 1. Perl兼容正则表达式: ?  .:匹配除换行符\n以外的任意单个字符 ?  ?:匹配之前的字符0次或1次 ?  +:匹配之前的字符至少1次 ?  *:匹配之前的字符任意次 ?  \d:匹配数字 ?  ^:匹配字符串的开始 ?  $:匹配字符串的结尾

CentOS 7.4 Tengine安装配置详解(七)

十六.缓存及缓存清理 1.修改node1配置文件nginx.conf: (1)在http配置段中增加如下代码: proxy_cache_path /usr/local/tengine/cache levels=1:1:2 keys_zone=mycache:200m inactive=15d max_size=100g; 备注: ?  levels=1:1:2表示1个字符的一级缓存目录和二级缓存目录,2个字符的三级缓存目录 ?  keys_zone=mycache:200m表示缓存名称为myca

samba 4.7.16 安装配置详解

系统:Centos 7.4 x64位 服务版本:samba-4.7.1.samba-client-4.7 Samba 简介 Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享. Samba由两个主要程序组成,它们是smbd和nmbd.这两个守护进程在服务

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

使用 LVS 实现负载均衡原理及安装配置详解

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用