/**********************************问题说明****************************/
近期在实验室遇到了如下问题,网站数据存储的位置为根目录下的www目录里边
网站的站点都搭建于此,上传的数据也位于这个位置,但随着时间的延长数据量变大,开始给根目录挂载的容量急剧变小,使得网站的访问速度变慢
这时首先想到了将存储文件的文件夹挂载到其他位置,但并没能解决我要解决的问题(估计是自己比较菜,所以对挂载机制不太了解)
下面对我的解决方案做一下总结
/**********************************转移文件挂载位置方案*************************************/
主要是以下几步
mkdir /data/www -这里是创建新的文件夹
cp -r /www/* /data/www/ -这里是将旧的文件内容拷贝到新的文件中
mount --bind /data/www /www -这里是挂载操作(表示不是很懂) ,有很多地方都有提到在进行完此操作后需要对老的www文件进行卸载工作,也就是umount /www
df -ah -这里可以查看挂载后比较详细地信息
进行完操作后,遇到了一些问题,首先是站点中文件存储位置的变更,也就是需要改相应的配置文件(一般为config.php文件)
但经过这样的操作后并没有完全解决我要解决的问题,所以下面说一下我是怎样解决的,这里要表示一下自己对挂载的机制确实不太了解
自己实验室服务器的使用情况
[root@newembed /]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 30G 17G 12G 58% /
tmpfs 1.9G 228K 1.9G 1% /dev/shm
/dev/sda1 194M 112M 72M 61% /boot
/dev/sda6 411G 8.6G 381G 3% /data
/dev/sda3 9.9G 189M 9.2G 2% /home
第一个目录中还存储着网站的相关数据,这并不合理,所以要进行更改
/*****************************************通过该配置的方式实现*********************************************************/
这里如果只是通过更改配置来达到要求的效果,需要注意以下几点
1. httpd.conf中DocumentRoot的路径一定要是对的,应该是自己更改后的目录位置
2. 站点中关于文件存储的位置的配置文件也要做出相应的更改
3. 对于新建的文件要有足够的读写权限
如httpd.conf中的设置
DocumentRoot设置
从DocumentRoot /www/docs/moodle改为
DocumentRoot /data/www/docs/moodle
<VirtualHost *:80>
ServerAdmin abc@163.com
DocumentRoot /data/www/docs/moodle
ServerName www.***.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
Alias /phpmyadmin "/data/www/docs/phpmyadmin"
<Directory "/data/www/docs/phpmyadmin">
Order Allow,Deny
Allow from all
</Directory>
<Directory "/data/www/docs/moodle">
Order Allow,Deny
Allow from all
Deny from 182.118.33.
</Directory>
</VirtualHost>
其他位置也类似