需求背景
中心工程(javaweb)下载临时文件存放在文件服务器。
文件服务器开启Apache服务实现ip+文件名直接访问临时文件。
类似于windows的IIS服务。
服务
httpd、rpcbind、nfs(安装方法很多,查询学习一下)
文件服务器Apache服务搭建
1.在文件服务器上新建一个文件夹用来存放临时文件
mkdir testfile (删除文件夹 rm -rf testfile)
2. 修改服务配置
vim /etc/httpd/conf/httpd.conf
文件内容很多,主要修改Section 2下的属性
ServerName localhost:80 (没加ServerName忘了报什么错了,可以不加试试)
DocumentRoot "/testfile" (必改)
<Directory />
Options FollowSymLinks
AllowOverride (必改)
</Directory>
<Directory "/testfile"> (这个里面的属性最好不要有deny拒绝)
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
3.文件夹授权用户和修改权限
chmod 777 testfile (文件服务器权限777)
chown -R weblogic:weblogic testfile(授权用户)
chcon -t httpd_sys_content_t -R /testfile(添加策略 先不加试试)
注意:如果搭建完nfs服务后,从中心工程服务上传到文件服务器的文件权限有问题,查看中心工程服务的umask值。
4.搭建过程中可能需要的命令
getenforce命令可以显示当前SELinux的应用模式,是强制、执行还是停
临时关闭:
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
永久关闭:
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
service httpd start 启动
service httpd restart 重新启动
service httpd stop 停止服务
service httpd status查看httpd的运行状态
rpm -qa | grep httpd查看httpd是否已经安装
ps -ef | grep httpd命令可以查看httpd是否应运行
reboot 重启linux服务
5、注意事项
Appche 服务启动成功,但是403没权限访问文件,和文件夹的权限有关系。
文件服务器、中心工程服务器NFS服务搭建
中心工程服务可能搭在到多节点上,一个节点下载临时文件,当读取文件时可能会取到其他节点的文件夹。
例如下载到127.0.0.1 的zxfile里面,读取时候可能会读取到127.0.0.2 的zxfile。
所以要搭建NFS服务,文件服务器的文件夹挂载到各个中心端服务节点的文件夹上。
1.准备
pm -qa|grep nfs 查询nfs-utils包是否安装
rpm -qa|grep rpcbind 查询rpcbind包是否安装
service rpcbind status 查看rpc状态
service nfs status 查看nfs状态
rpm -qa nfs-utils rpcbind 查询nfs-utils和rpcbind包是否安装
2.文件服务器配置修改
vim /etc/exports
/testfile 127.0.0.2/24(rw,sync,all_squash,anonuid=501,anongid=501)
/testfile 172.0.0.3/24(rw,sync,all_squash,anonuid=501,anongid=501)
生效命令:
exportfs -arv
3.中心端工程服务器
mount -t nfs 127.0.0.1:/testfile /zxfile
取消挂载
fuser -mv /dzdafile 查看占用命令
fuser -kv /dzdafile 杀死占用命令
umount -a取消挂载命令
fuser -mv /zxfile
fuser -kv /zxfile
4.查看
showmount -e localhost #查询本机nfs共享目录情况
showmount -a localhost #查询本机共享目录连接情况
5.注意
删除挂载文件夹前 umount 文件夹,尽量不适用k命令会杀掉进程。
强制umount
umount -lf /zxfile
linux开机服务自起
1.编写服务启动脚本
简单粗暴直接在/etc/rc.d/rc.local里面加上服务启动脚本
service rpcbind start
service nfs start
service httpd start (中心端工程服务器不用启动apache)
mount -t nfs 127.0.0.1:/testfile /zxfile
linux定时删除文件夹
1.在etc 目录下创建执行脚本
cd /etc
mkdir testetc
vi /etc/testetc/testdelete.sh
2.编写testdelete.sh执行脚本
#!/bin/bash
find /testfile -mtime +1 -name "*.*" -exec rm -rf {} \;(注红为几天前的文件)
实际的执行脚本如下
#!/bin/bash
find /testfile -name "*.*" -exec rm -rf {} \;
3.开启定时任务
crontab –e
* 1 * * * /etc/dzdaetc/dzdadelete.sh
来源:CSDN
作者:Yu_eclipse
链接:https://blog.csdn.net/Y_eclipse/article/details/103970195