热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7.4Tengine安装配置详解(二)

三、配置虚拟主机:1、配置基于端口的虚拟主机:(1)在http{}配置段中新增如下server:server{listen8000;server_namelocalhost;acc
三、配置虚拟主机:

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 "

VirtualHost Port 8000

" > /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 "

VirtualHost 192.168.1.222

" > /vhosts/ip/192.168.1.222/index.html

# echo "

VirtualHost 192.168.1.250

" > /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 "

VirtualHost bbs.vhosts.com

" > /vhosts/bbs/index.html

# echo "

VirtualHost blog.vhosts.com

" > /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 "

Hello World

" > /usr/local/tengine/html/bbs/test.html

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

4、分别使用192.168.1.146192.168.1.222192.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 "

Login Successful

" > /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 "

txt file

" > /usr/local/tengine/html/test.txt

# echo "

doc file

" > /usr/local/tengine/html/test.doc

# echo "

html file

" > /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

技术分享图片


rootalias(路径别名)

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 "

root --> /vhosts/bbs/bbs/index.html

" > /vhosts/bbs/bbs/index.html

# echo "

alias --> /vhosts/blog/index.html

" > /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

技术分享图片


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


推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
author-avatar
zhefu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有