CentOS7 修改 Apache24 默认网站根目录

淘汰的低端主机搞上 Windows Server2012R2 Hyper-V

虚拟机一:CentOS7 + Apache24 + PHP73 + MySQL80 = NextCloud + WordPress

虚拟机二:LEDE = MWAN + aliyunDDNS + KMS

考虑过使用实体机运行 CentOS 这个系统,但是我 LEDE 难道又要另外一台主机(低功耗平台j1900/N3150等)来搞就不现实了。成本、功耗都不如一台主机来的实际,至于 LEDE 运行在实体机与虚拟机的性能差别,我没有对比过不知道。包括 CentOS 也没有使用实体机长期运行过。一直在使用阿里云 ECS 上面的 CentOS7,对比 Hyper-V 里运行的 CentOS7 ,阿里云 ECS 除了磁盘响应快点,其它都是 Hyper-V 上的性能更强。

可以负责的说 LEDE 运行在 Hyper-V 磁盘 SSD 上已经飞快了!!一块博通双口千兆网卡 + 两块 intel 单口千兆网卡,第二代 Hyper-V 虚拟机。虽然入户只是 100M,内外网都完美识别使用千兆,速度与响应飞快,没有发现任何瓶颈。

虽然有几台垃圾低端淘汰的 PC ,最后还是决定了只用一台主机搞虚拟机,在功耗与成本方面都更有优势。

使用 NextCloud 存储照片、文件、资料等等,并与 PC 客户端同步,这样是否相当于实现了镜像存储?进一步提高数据不会由于硬盘损坏导致突然丢失的风险。而且 NextCloud 可以通过 DDNS 实现外网访问等各种方便,比纯粹的存储池镜像模式存储强多了。

所以 NextCloud 需要一个容量比较大的数据盘,在 Hyper-V 使用 SSD 的性能确实是爽,不过既然是使用淘汰的主机作为家用的低级服务器,就不应该考虑大容量的 SSD 咯。自己主用的 PC 都只是128G SSD + 2TB HDD而已。但是 Hyper-V 使用机械盘 HDD 运行 CentOS 明显比在 SSD 上运行慢了许多,没有对比就没有伤害。 CentOS 一样可以像 Windows 那样,系统装在 SSD ,资料文件需要大容量存储的使用 HDD !

实际上早就已经是这样搞过了,但是效果并不理想,应该是分区不合理的原因。

最初是这样搞的:

Hyper-V 建立一个 50G 放在 SSD 上的 动态磁盘VHDX 用作 CentOS 系统所有分区但不包括 /var 目录,挂载一个1TB放在 HDD 上的 动态磁盘VHDX 作为 /var 分区。

这个方案运行了一段时间,稳定没有问题,唯一就是速度并不理想。甚至在安装 Nextcloud 与 WordPress 的时候都感觉到还没有单纯使用 HDD 的速度快。

能感觉到的是在启动或重启 CentOS 的时候,确实是快了一点点。

最近又这样搞的:

Hyper-V 建立一个 30G 放在 SSD 上的 固定磁盘VHDX 用作 CentOS 系统,挂载一个1TB放在 HDD 上的 动态磁盘VHDX 作为 /fzdata 目录。

然后修改 apache24 默认网站根目录为 /fzdata/www/html/ 目录。

当然是效果明显好了!才会在这里唧唧歪歪的记录下来的。磁盘读写各方面都提升了,舒服。

修改 Apache24 默认网站根目录的方法

1、修改 httpd.conf 配置文件

vi /etc/httpd/conf/httpd.conf

# DocumentRoot "/var/www/html"
# 注释掉原有的默认网站根目录,添加我们的网站根目录
DocumentRoot "/fzdata/www/html"

# 原有的规则不用修改路径,我们只需增加自己的新路径
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# 原有的规则不用修改路径,我们只需增加自己的新路径
<Directory "/var/www/html">
    # Options Indexes FollowSymLinks
    Options FollowSymLinks
    # AllowOverride None
    AllowOverride All
    Require all granted
</Directory>

# 我们只需增加自己的新路径在这里即可。
<Directory "/fzdata/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
<Directory "/fzdata/www/html">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

2、修改 ssl.conf 配置文件

vi /etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>

# DocumentRoot "/var/www/html"
# 注释掉原有的默认网站根目录,添加我们的网站根目录
DocumentRoot "/fzdata/www/html"

#ServerName www.example.com:443
ServerName www.abcd.com:443

</VirtualHost>  

其它的ssl证书等配置,只需按照常规配置即可。

3、一定要注意 /fzdata/ 这个目录的权限

apache 必需有权限访问 /fzdata/ 这个目录

我当时折腾了好久都是失败,总是提示 You don’t have permission to access /xx/xxx/ on this server.

这个目录在创建的时候权限是 755

但是挂载 1TB 的 xfs 分区到 /fzdata/ 目录,重启系统后,权限却变成了 700

没有注意到挂载后会改变目录的权限问题,最后才发现这个问题,将权限改为 755 之后,一切运行都正常了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注