Linux安装Nignx基于域名的多虚拟主机实战
看这个文章之前,要保证你的Nginx已经安装成功!
如果没有,请移步到下面这个文章,看完后再回来看!
https://www.cnblogs.com/apollo1616/p/10214531.html
1.前车之鉴,我们先去准备好两个域名分别对应的网页。
目录规划:本次实验静态文件总目录为apollo,下面设置两个文件夹,对应2个域名

www.python1616.com --- python1616
www.linux1616.com --- linux1616
2.启动Nginx服务
[root@localhost conf]# pkill nginx
[root@localhost conf]# /opt/nginx1616/sbin/nginx
[root@localhost conf]# /opt/nginx1616/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
3.Nginx配置文件设置
nginx.conf主配置文件学习
# nginx工作进程数,根据cpu的核数定义
worker_processes 4;
events {
# 连接数
worker_connections 1024;
}
# http区域块,定义nginx的核心web功能
http {
include(关键字) mime.types(可修改的值);
default_type application/octet-stream; # 定义日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # 开启访问日志功能的参数
access_log logs/access.log main;
sendfile on; # tcp_nopush on;
# keepalive_timeout 0;
# 保持长连接
keepalive_timeout 65; # 支持图片 gif等等压缩,减少网络带宽
gzip on; #这个server标签,控制着nginx的虚拟主机(web站点)
server {
# 定义nginx的入口端口是80端口
listen 80;
# 填写域名,没有域名就写IP地址
server_name www.python1616.com;
# 定义编码
charset utf-8;
# location定义网页的访问url
# 就代表用户的请求是192.168.13.79/
location / {
# root参数定义网页根目录
root /opt/apollo/python1616;;
# 定义网页首页文件的名字的
index index.html index.htm;
}
# 定义错误页面,客户端的错误,就会返回40x系列错误码
error_page 404 403 401 400 /404.html;
# 服务器错误,500系列错误代表后端代码出错
error_page 500 502 503 504 /50x.html;
}
#在另一个server{}的外面,写入新的虚拟主机2
server{
listen 80;
server_name www.linux1616.com;
location / {
# 定义虚拟主机的网页根目录
root /opt/apollo/linux1616;
index index.html;
}
}
}
4.修改windows本地的测试域名 C:\Windows\System32\drivers\etc\hosts文件
写入如下内容
192.168.13.79 www.python1616.com
192.168.13.79 www.linux1616.com
因为我们没有www.python1616.com 也没有www.linux1616.com, 因此要在本地搞一个测试域名,
不想改dns的话,就去去买一个域名~~~~~~~~~~~~~~~~~~~~~~
5.然后在浏览器测试访问 两个不同的 web站点
www.python1616.com

www.linux1616.com

6.nginx的访问日志功能
6.1开启nginx.conf中的日志参数
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#开启访问日志功能的参数
access_log logs/access.log main;
6.2检查access.log的日志信息
tail -f access.log
7.nginx的拒绝访问功能
7.1在nginx.conf中,添加参数
在server{}虚拟主机标签中,找到location 然后添加参数
#当访问 192.168.13.79/ 的时候
location / {
#拒绝参数是 deny
#deny 写你想拒绝的IP地址
#deny还支持拒绝一整个网站
deny 192.168.13.33;
root /opt/apollo/python1616;
index index.html;
}
8.nginx的错误页面优化
error_page 404 /404.html;
# 写上这句话,然后去你项目根目录下面创建一个404.html就ok了

www.python1616.com输错的时候,成功跳转自己自定义的网页

为了见证结果再设置下www.linux1616.com出错时候的页面

8
Linux安装Nignx基于域名的多虚拟主机实战的更多相关文章
- 8.5 Ingress实现基于域名的多虚拟主机、URL转发、及多域名https实现等案例
1.什么是Ingress Ingress 公开了从k8s集群外部到集群内服务的 HTTP 和 HTTPS 路由. 流量路由由 Ingress 资源上定义的规则控制. 可以将 Ingress 配置为服务 ...
- httpd基于域名不同的虚拟主机配置
apache2.2.x版本 1. 注释主配置文件/etc/httpd/conf/httpd.conf中的 DoucumentRoot #DocumentRoot "/var/www/html ...
- CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户
CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户 一.安装ftp服务 1.检查是否已经安装 # rpm -qa | grep ftp ftp-0.17-54.el6.x86_64 vs ...
- nginx笔记 安装nginx 配置 反向代理 多虚拟主机
1,检测linux上是否 通过yum安装了nginxrpm -qi nginx 2.安装nginx之前的依赖包yum install gcc patch libffi-devel python- ...
- Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机
Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机: #user nobody; worker_processes 1; #error_log logs/error.log; #err ...
- Apache配置基于端口号的虚拟主机 Apache virtual host configuration is based on the port
有可能只有一个ip出口,但却有多个项目,那么就需要基于端口号架设虚拟主机. Step 1: 检查是否开启 httpd-vhosts.conf apache/conf/httpd.conf文件 # Vi ...
- Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
一.Tomcat体系结构 从conf/server.xml可体现Tomcat的体系.一个Server可有多个service,一个service可以有多个连接器connector,每个连接器暴露出不同的 ...
- linux:apache-配置基于域名的虚拟机主机
一个http服务要配置多个站点,就需要用到虚拟机主机. 虚拟机主机一般有三类:1.基于域名 2.基于端口 3.基于ip 举例操作基于域名配置三个站点: 域名 站点目录 www.eejind.com ...
- Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解
文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...
随机推荐
- ImageSwitcher (图像切换器,显示图片)
ImageSwitcher继承了ViewSwitcher,主要在切换图片时加入动画效果 使用方法: 1.为ImageSwitcher提供一个ViewFactory,该ViewFactory生成的Vie ...
- 【DB2】根据映射表映射出结果
第一步:创建语法 CREATE TABLE OLIVER_MAP(ID INT,COM_TYPE VARCHAR(100),COM_NAME VARCHAR(100),SR_UP DECIMAL(18 ...
- nightwatchjs --Expect element to not include text
to have NightWatch to find text in a div. browser.assert.containsText('#output', 'find me') But how ...
- Lua学习十----------Lua数组
© 版权声明:本文为博主原创文章,转载请注明出处 1.LUA数组 - 一维数组 - 多维数组 2.array.lua -- 一维数组 print("一维数组") array1 = ...
- Heterogeneity Wins
 Heterogeneity Wins Edward Garson THE nATuRAl EvoluTion oF CoMpuTER TECHnology has brought about im ...
- 利用python 掌握机器学习的过程
转载:http://python.jobbole.com/84326/ 偶然看到的这篇文章,觉得对我挺有引导作用的.特此跟大家分享一下. 为了理解和应用机器学习技术,你需要学习 Python 或者 R ...
- Java内存模型FAQ(一) 什么是内存模型
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第一章 译者:方腾飞 在多核系统中,处理器一般有一层或者多层的缓存,这 ...
- 隐藏VS2013的反馈、通知和登录按钮
Visual Studio 2013的右上角有反馈.通知.登录.快速启动等按钮,在VS2013中没有选项可以设置为隐藏. 打开注册表(开始 -> 运行 -> regedit),展开到以下路 ...
- UVA 10131题解
第一次写动态规划的代码,整了一天,终于AC. 题目: Question 1: Is Bigger Smarter? The Problem Some people think that the big ...
- NYOJ 492 King (状态压缩)
做题感悟:做完这题发现状态压缩有很多须要优化的地方. 解题思路:状态压缩 開始自己用的一般的思路,就和炮兵阵地,郑厂长等题类似的方法做的,開始超时,然后把数组开到了最小的极限就险过.然后看了别人的代码 ...