• 第十六周作业


    架构题:前端有一个 LAMP 架构通过 wordpress 来部署,后端构建一个 NFS 服务器实现要求将用户上传的图片保存至后端 NFS 服务器上。

    答:

    环境

    centos8(10.0.0.8):搭建LAMP架构(这里使用yum安装)

    centos7(10.0.0.7):搭建NFS服务器

    搭建LAMP

    • 下载所需程序包
      • 由于centos8默认已经支持fcgi,所以不用对httpd的配置文件做修改
    [root@centos8 ~]#yum install -y httpd php-fpm php-mysqlnd mariadb-server php-json
    
    [root@centos8 ~]#wget https://cn.wp.xz.cn/latest-zh_CN.tar.gz
    • 将wordpress解压并移动到/var/www/html下,并使apache用户对此目录有所需权限
    [root@centos8 ~]#tar xf latest-zh_CN.tar.gz 
    [root@centos8 ~]#mv wordpress/ /var/www/html/
    [root@centos8 ~]#ls /var/www/html/
    wordpress

    [root@centos8 ~]#setfacl -Rm u:apache:rwx /var/www/html/wordpress/
    • php-fpm配置文件
      • 由于当前LAMP都在同一台主机上,php-fpm默认使用socket文件和httpd连接,所以这里也不用做过多修改,只需要将套接字文件的属主和属组修改为apache,并且启用660权限
    [root@centos8 ~]#vim /etc/php-fpm.d/www.conf
    listen = /run/php-fpm/www.sock
    listen.owner = apache
    listen.group = apache
    listen.mode = 0660
    • 创建wordpress所需数据库
    [root@centos8 ~]#mysql -e 'CREATE DATABASE wp;'
    [root@centos8 ~]#mysql -e 'GRANT ALL ON wp.* TO wpuser@"localhost" IDENTIFIED BY "magedu";'
    • 使用浏览器登陆10.0.0.8/wordpress,完成wordpress的安装

     

    部署NFS服务器

    • 安装nfs-utils工具,并配置共享目录为/data/upload
    [root@centos7 ~]#yum install -y nfs-utils
    
    [root@centos7 ~]#systemctl start nfs  #若是centos8上,则启动nfs-server
    
    [root@centos7 ~]#vim /etc/exports
    /data/upload    10.0.0.0/8(rw)

      [root@centos7 ~]#exportfs -r
      [root@centos7 ~]#exportfs -v
      /data/upload 10.0.0.0/8(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

    [root@centos7 ~]#mkdir /data/upload
    • 创建apache用户并使其对/data/upload有可创建文件的权限,注意这里apache用户的uid需要和LAMP中apache用户的一样
    [root@centos7 ~]#useradd -u 48 apache
    [root@centos7 ~]#setfacl -m u:apache:rwx /data/upload

     

    在LAMP服务器上挂载NFS共享目录

    • 作为NFS客户端,也需要安装nfs-utils工具
    [root@centos8 ~]#yum install -y nfs-utils
    
    [root@centos8 ~]#showmount -e 10.0.0.7
    Export list for 10.0.0.7:
    /data/upload 10.0.0.0/8
    • 挂载共享目录:wordpress的默认上传目录为 /var/www/html/wordpress/wp-content/uploads/
    [root@centos8 ~]#mount 10.0.0.7:/data/upload /var/www/html/wordpress/wp-content/uploads/
    
    [root@centos8 ~]#df /var/www/html/wordpress/wp-content/uploads/
    Filesystem            1K-blocks  Used Available Use% Mounted on
    10.0.0.7:/data/upload  51474944 53248  48783872   1% /var/www/html/wordpress/wp-content/uploads

    在浏览器中登陆wordpress,并上传文件

     查看NFS服务器是否已经有文件上传

     

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 进制转换
    数据备份服务商Rubrik获4000万美元B轮融资
    为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)
    DIOCP3 DEMO的编译(去掉VCL前缀)
    Golang环境搭建,Notepad++配置Golang开发环境,Golang发送邮件
    川普当选对中国的好处在哪?(会注重实利,而不是虚的意识形态)
    带你走近AngularJS
    ASP.NET MVC学习之控制器篇扩展性
    微信语音识别及网页获取用户信息
    敏捷和自动化测试
  • 原文地址:https://www.cnblogs.com/jojohyj/p/13759333.html
Copyright © 2020-2023  润新知