Apache与Nginx虚拟主机设置(多域名和多端口的区别)

Ubuntu 14.04 Apache虚拟主机配置原理实战 虚拟主机是Web服务器实现多站点隔离的核心机制,其本质是基于HTTP Host头的协议层路由。Apache通过<VirtualHost>指令块定义域名文档根目录的映射关系,结合ServerName、DocumentRootRequire权限模型完成请求分发。该技术支撑着现代Web服务的多租户架构,广泛应用于生产环境、靶场搭建(如Shiro漏洞靶机)及教学实践。在Ubuntu系统中,sites-availablesites-enabled的符号链接机制提供了安全、可追溯的配置管理方式,而Apache 2 阅读详情
为了方便管理虚拟主机,应该尽量少修改主配置文件http.conf或者nginx.conf,大部分修改变更都在虚拟主机片配置文件httpd-vhost.conf或者vhost.conf中完成,这样有利于调试,降低风险。即便把虚拟主机配置文件修改得一团糟,只要把主配置文件中包含虚拟主机配置文件的一行注释掉即可。
Apache(多域名):
第一步首先要使扩展文件httpd/conf.d/vhosts.conf生效:
1. 打开 apache2/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号
4. 打开 apache2/conf/extra/httpd-vhosts.conf
5. 添加以上的多域名代码:
6. 打开   apache2/conf/extra/httpd-vhost.conf
在里面添加入下:
示例:
NameVirtualHost *:80  #用多域名时需加上这句

#先针对多出来的浏览目录进行权限规范

<Directory "/usr/local/apache2/htdocs/www">

Options FollowSymLinks

AllowOverride ALL

Order allow,deny

Allow from all

</Directory>

<Directory "/usr/local/apache2/htdocs/bbs">

Options FollowSymLinks

AllowOverride ALL

Order allow,deny

Allow from all

</Directory>

 
<VirtualHost 192.168.1.1:80> #   192.168.1.1有可写成*
ServerAdmin    zhangjinfa3@gmail.com (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/www(此虚拟主机的根目录)
ServerName  www.yumwei.com(此处为域名)
ErrorLog /usr/local/apache2/htdocs/www/error_log (日志)
TransferLog /usr/local/apache2/htdocs/www/access_log (日志)
</VirtualHost>
<VirtualHost 192.168.1.1:80>
ServerAdmin  zhangjinfa3@gmail.com (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/bbs (此虚拟主机的根目录)
ServerName bbs .yumwei.com (此处为域名)
ErrorLog /usr/local/apache2/htdocs/bbs/error_log (日志)
TransferLog /usr/local/apache2/htdocs/bbs/access_log (日志)
</VirtualHost>

 
在域名提供商那里设置DNS的A记录,将测试域名和服务器VPS的ip地址关联,这样在真机访问不同的域名会到达不同页面的网站,即实现了在一个主机上开多个网站的功能。
Apache 多端口
1. 打开 apache2/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号, 并加入虚拟主机的监听 Listen 192.168.1.1:8088
4. 打开 apache2/conf/extra/httpd-vhosts.conf
5. 添加以上的多端口代码:
6. 打开 apache2/conf/extra/httpd-vhost.conf
在里面添加入下:

#NameVirtualHost *:80

#使用多端口必须注释掉上一句

<Directory "/usr/local/apache2/htdocs/mail">

Options FollowSymLinks

AllowOverride ALL

Order allow,deny

Allow from all

</Directory>

 
<VirtualHost 192.168.1.1:8088>
ServerAdmin  zhangjinfa3@gmail.com (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/mail(此虚拟主机的根目录)
ServerName  192.168.1.1:8088(此处为ip端口)
ErrorLog /usr/local/apache2/htdocs/mail/error_log (日志)
TransferLog /usr/local/apache2/htdocs/mail/access_log (日志)
</VirtualHost>

此时只能使用 http://192.168.1.1:8088 进行网站的访问。

 

////////////////////////////////////////////////////////////////////////////////////////////

nginx虚拟主机配置


vi   #编辑主配置文件

http {
    ......
    #gzip  on;
    include /usr/local/nginx/conf.d/*.conf;   #添加
    ......
}

##############################################################
vi /usr/local/nginx/conf.d/vhost.conf    #新建配置文件

server {  
        listen 80;  
        server_name www.yumwei.com yumwei.com;  
        #access_log logs/a.access.log main;  
        location / {  
                index index.php;  
                root /data/wwwroot;   #网站的根目录
        } 

        location ~ \.php$ {
            root           /data/wwwroot;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /data/wwwroot/$fastcgi_script_name;
            include        fastcgi_params;
        }
 
    }  
 
chown www:www -R  /data/wwwroot  #设置权限
chmod 700 -R /data/wwwroot

外来访问此网站的用户即www用户,至少对此目录有可读可执行的权限,否则访问不了。

///////////////////////////////////////////////////////////////////////////////////////////

发散:

     在httpd.conf中出现的User apache  Group apache 即外来访问网站人的身份(Apache的程序用户,启动worker或者prefork),若网站根目录/data/wwwroot/的所有者为root,权限被设置为750,则访客无法浏览,因为被当作others一组,可以将目录设置为755,则访客可以浏览网页。同理,若管理员在服务器上添加了一个用户则成为一个普通用户,可以设置自己的个人网站,Apache默认的个人首页是放在public_html/目录中,若simba用户默认目录为/home/simba,那么他的个人首页默认在/home/simba/public_html/  。可以建立链接文件

# cd /data/wwwroot

# ln -s /home/simba/public_html simba

则以 http://www.yumwei.com/simba 则可以访问个人主页(与博客系统的个人主页不同),此时此主页目录所有者为simba,为了让其他访客浏览,也必须设置目录权限为755才可。

Ubuntu 16.04 Apache虚拟主机配置原理实战 Apache虚拟主机是Linux Web服务实现多站点托管的核心机制,其本质是基于HTTP Host头的请求路由资源隔离技术。在Ubuntu 16.04这一经典LTS系统中,Apache 2.4.18采用Debian定制化配置体系,通过sites-available/sites-enabled目录分离a2ensite工具链实现安全、可审计的站点管理。该机制支撑域名级隔离、独立日志、差异化SSL配置及多PHP版本共存等关键能力,广泛应用于VPS托管、教育实验环境遗留系统运维。理解其Name-based路 阅读详情

相关推荐

CentOS 7 Apache www重定向配置实战指南

域名规范化是网站基础架构的关键环节,涉及HTTP协议中Host头解析、301永久重定向原理及SEO权重聚合机制。统一wwwnon-www入口可避免搜索引擎索引分散、SSL证书管理混乱缓存系统异常,显著提升站点可维护性安全合规性。在CentOS 7等长期支持型Linux发行版中,Apache作为主流Web服务器,需依托mod_rewrite模块实现精准的Host级重定向控制,而非依赖ServerAlias或路径级Redirect指令。本文围绕真实生产环境,详解如何通过RewriteCondRewrit

weixin_34138056的博客 386

apachenginx的虚拟域名配置

由于开发需求,项目有时候需要设置虚拟域名进行测试。下面是分别是apachenginx的配置 一、apache 环境:wampserver2.5 1.修改host文件 C:\Windows\System32\drivers\etc\host 底部追加 127.0.0.1 test.com 2.修改apache配置文件 F:\wamp\bin\apache\apa...

weixin_30335575的博客 161

一小时搞定Apache服务器HTTPS配置:Let‘s Encrypt证书申请部署全攻略

HTTPS作为HTTP的安全扩展,通过在应用层传输层之间加入SSL/TLS加密层,为网络通信提供端到端的加密保护,有效防止数据在传输过程中被窃听或篡改。其核心原理基于非对称加密对称加密的结合,以及数字证书的认证机制,确保通信双方身份的可靠性数据的机密性、完整性。这一技术不仅保障了用户敏感信息(如登录凭证、支付数据)的安全传输,更是现代Web应用的基石,直接影响搜索引擎排名用户信任度。在个人博客、企业官网及各类Web服务中,部署HTTPS已成为标配实践。本文以Apache服务器环境为例,详细解析如何利

weixin_34210740的博客 377

Ubuntu 12.04下Nginx虚拟主机配置实战指南

虚拟主机是Web服务器实现多站点托管的核心机制,其本质是基于HTTP Host头的请求路由技术。在Nginx中,server_namelisten共同构成匹配决策树,root定义资源根路径,location则执行具体处理逻辑。该机制不依赖容器或现代编排工具,而是依托轻量级事件模型静态配置文件,在资源受限的嵌入式Linux系统(如Ubuntu 12.04)中仍具不可替代性。它广泛应用于工控网关、电力终端、交通控制器等遗留设备的Web管理界面部署,支撑HTTPS重定向、反向代理、静态文件服务等关键能力。本文

congjukun0600的博客 377

源码部署Apacheshell脚本安装

一、Apache特点: 功能强大,配置简单,速度快,应用广泛,性能稳定,可做代理服务器及负载均衡来使用。 1.处理静态页面图片不及nginx 2.Apace、结合php来处理php、perl等,经典的;lamp 3.Apache结合tomca、resin来处理运行java、jsp在中小企业堪称首选 4.使用apache做代理、负载均衡、rewrite规则过滤等等 二、安装2.2步骤 tar xvf httpd-2.2.31.tar.bz2 cd httpd-2.2.31 ./configure --

qq_40907977的博客 782

使用acme.sh自动化部署HTTPS证书:从原理到Nginx/Apache实战

HTTPS作为保障网络通信安全的核心协议,通过TLS/SSL协议为数据传输提供加密、完整性身份验证。其核心原理依赖于由可信证书颁发机构(CA)签发的数字证书,该证书充当服务器的“数字身份证”。在工程实践中,Let's Encrypt通过ACME协议实现了证书申请管理的自动化,极大地降低了部署成本。acme.sh作为一款纯Shell脚本编写的ACME客户端,以其零依赖、配置即生效强大的自动化能力,成为自动化管理TLS证书生命周期(包括申请、验证、安装续期)的流行工具。它广泛支持HTTP-01DNS-

culuo8053的博客 441

详细教程:两个域名指向同一个网站,怎么设置域名解析?

在网站运营的过程中,我们常常会遇到这样一个场景:公司为了保护品牌,一口气注册了多个不同后缀的域名,后来有了更正式的主域名,但又不希望老用户找不到入口。这时候,我们就需要把这多个域名指向同一个网站内容。这个问题听起来简单,但实际操作中却有两种截然不同的实现思路,它们各自有各自的优缺点,也适用于不同的场景。今天,我们就从域名解析的原理出发,结合国科云解析DNS平台的具体操作,来详细聊聊这个问题。

weixin_53018687的博客 598

关于JAVA中apache.poi,利用FTL模版,导出Excel,WPS能打开,office打不开的问题有效解决方法

<think>我们只需要根据内容生成摘要,不超过150字。内容是关于将Excel模板转换为XML模板用于Apache POI导出的步骤。要点:删除特殊字符、转xls格式、另存为XML 2003、改后缀.ftl、导出用.xls。摘要需简洁。</think>摘要:导出Excel模板时,先删除换行符及XML冲突字符;用Office另存为xls格式(关键),再另存为“XML电子表格2003”;将后缀改为.ftl用于Apache POI导出,生成文件名须用.xls而非.xlsx,否则文件损坏无法打开。

Rain 193

Apache SeaTunel & Apache SeaTunel WEB部署初体验

1.下载解压安装seatunel2.安装连接插件自动安装(推荐)手动安装从 Maven 仓库下载所需连接器 JAR,放入:3.测试。

Mrzhou的博客 264

ValidX vs Apache Commons Validator:功能性能对比

Apache Commons Validator 是 Apache 基金会的老牌验证库,在 Java 生态里沉淀了二十多年,几乎每个项目都见过它的影子。然而在面向中国市场的业务里,开发者经常会碰到这样的场景: 于是你开始自己写正则、自己实现校验码算法,然后陷入"造轮子、维护轮子、修复轮子"的循环。而 ValidX 内置了 100+ 注解,其中大量是中国业务专属的验证规则。 本文将从**功能****性能**两个维度,对比 Apache Commons Validator(以 1.7 版本为例) Val

vipxieliang的博客 279

Linux---进度条小程序

从回车换行到缓冲区,从倒计时到进度条——一篇搞懂Linux下C语言进度条的实现原理

晴天的博客 470

Apache seatunel配置-数据同步测试(直接把采集数据打印到控制面板)

【代码】Apache seatunel配置-数据同步测试(直接把采集数据打印到控制面板)

Mrzhou的博客 419

Apache Doris 4.0.8 CDC 正确性(第 9 篇):Flink Checkpoint 一直成功,表里为什么仍是旧数据

Flink Checkpoint Doris 2PC 都成功,订单9001却从已支付退回待支付。没有重复事务,也没有丢失事件;一条更旧的 CDC 记录最后到达,并被精确提交了一次。2PC 保证批次提交边界,Unique Key 保证一主键一行,只有可靠 Sequence 才能决定乱序事件谁获胜。

weixin_42426485的博客 385

为什么/admin Apache 返回 301 重定向,但是/admin/ 直接处理请求

URLApache 理解处理方式/admin可能是文件或目录先查文件,再查目录 → 找到目录 → 301 重定向到/admin/明确是目录直接查找目录 → 执行默认文档 (index.php) → 返回 200这 301 重定向是 Apache 的"友好行为",旨在统一 URL 格式,避免资源路径混乱。但 Hydra 不自动跟随重定向,所以要直接使用/admin/才能到达真正的登录接口。

EEEEEEcho的博客 220

Apache Jena 详解:Java 开发者如何真正搭起一套知识图谱语义服务

Apache Jena 是 Java 生态里一套非常成熟的 RDF、SPARQL、Ontology、推理知识图谱基础设施。如何表示知识?↓RDF↓SPARQL↓TDB2↓Fuseki↓Ontology↓SHACL↓AI Agent↓RDF↓Ontology↓↓SPARQL↓Context↓AgentApache Jena 正好处于这条链中间非常关键的位置。Semantic Web 老项目Java 世界里一个成熟的 Semantic Backend 基础设施。

JavaPub 225

Apache Seatunnel断点续传方式

<think>我们只需要根据内容生成摘要,不超过150字。内容是Apache SeaTunnel断点续传方式,包括创建savepoint恢复操作。摘要应简洁概括。注意字数。</think>本文介绍了Apache SeaTunnel断点续传方式:通过seatunnel.sh -s <savepointId> -cn seatunnel创建保存点并停止任务,再用-c恢复配置继续执行,实现从断点处恢复。

Mrzhou的博客 213

Apache Seatunel JVM 内存配置说明

这是 SeaTunnel Client 的 JVM。所以实际上没有设置 Heap 大小。你这 4 个文件实际上分成两类。初始 Heap:256 MB。最大 Heap:512 MB。时,客户端进程使用的内存。这个是你当前最重要的文件。这个一般不需要很大。

Mrzhou的博客 344
下一篇: IIS网站服务器性能优化攻略
did
did
博客等级 码龄15年 1粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值