美文网首页
企业式交互站点NFS、FTP

企业式交互站点NFS、FTP

作者: 老哥很稳 | 来源:发表于2020-07-04 16:53 被阅读0次

    一.大纲内容

    1.1· Web服务器介绍(apache/nginx/tomcat)

    1.2· Nginx基本使用

    获取Nginx
    Nginx的官方主页: http://nginx.net
    其中最新版本为Nginx的开发版本,之前的版本为当前稳定版本。例如最新版本为0.8.X,则当前稳定版本为0.7.X。
    http://nginx.org/en/docs/
    http://wiki.nginx.org

    Nginx安装:
    方式1.
    yum安装
    
    方式2. 
    源码安装
    
    1. 停止原有web服务器(清除原有yum安装的Nginx服务)
    2. # yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
    
      . 添加普通用户账号来运行nginx:
    
      # useradd nginx
    
      . 解压并安装Nginx:
    
      # tar xvzf nginx-0.8.55.tar.gz    -C /usr/local   (一般安装到/usr/local安装)
    
      # cd /usr/local/nginx-0.8.55
    
       #./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
    
      # make
    
      # make install
    
      . 启动:
    
      # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    
       查看命令帮助:
      # /usr/local/nginx/sbin/nginx  -h
    
       -v       查看nginx版本
    [root@localhost yum.repos.d]# nginx -v
    nginx version: nginx/1.12.2
    
       -V       查看编译参数 
    
       -t       测试默认配置文件
    [root@localhost yum.repos.d]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
       -c       加载非默认位置配置文件
    
    查看启动状态:
      # ps aux | grep nginx
       root      8416  0.0  0.1   5760   660 ?      Ss   23:29   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
       nginx     8417  0.0  0.1   5904   992 ?      S    23:29   0:00 nginx: worker process
    
     # netstat -ntlp | grep 80
       tcp        0      0 0.0.0.0:80    0.0.0.0:*         LISTEN      8416/nginx.conf
    
    测试主页是否可以访问:
    
     # links 127.0.0.1    //如果显示Welcome to nginx! 则说明服务正常
    

    1.3· Yum方式部署lnmp环境

    L = Linux  ;    N = Nginx  ; M = Mysql/Mariadb ;  P = Php
    
    一、基础环境[已完成]
    [root@apache ~]# setenforce 0
    [root@apache ~]# systemctl stop firewalld.service 
    [root@apache ~]# systemctl disable firewalld.service
    [root@apache ~]# yum -y install epel-release
    二、安装LAMP[已完成]
    [root@apache ~]# yum -y install nginx mariadb-server mariadb php php-mysql gd php-gd
    [root@apache ~]# systemctl start nginx mariadb
    [root@apache ~]# systemctl enable nginx mariadb
    

    1.4· 构建NFS远程共享存储

    因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样我们就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。

    那RPC和NFS之间又是如何之间相互通讯的?

    首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开机111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。

    NFS 重要指数4星
    项目名称: 为集群中的 Web Server 配置后端存储
    
    NFS:Network File System 网络文件系统,Unix系统之间共享文件的一种协议
    NFS 的客户端主要为Linux
    
    
    支持多节点同时挂载以及并发写入
    nfs           192.168.62.142
    web1          192.168.62.136
    
    
    centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
    
    # systemctl stop firewalld
    
    # systemctl disable firewalld   
    
    # setenforce 0
    
    
    # vim /etc/hosts [可选](服务端和客户端都操作)
    
    192.168.62.142  nfs   //服务器
    192.168.62.136  web1   //客户端
    
    
    NFS(此步为说明)
    1.安装软件
    
    ​    yum -y install rpcbind(提供rpc协议)
    
    ​    yum -y install nfs-utils(主包提供文件系统)
    
    2.启动服务------>这两个服务必须同时启用
    ​        systemctl start nfs
    ​        systemctl start rpcbind
    
    
    一、nfs(存储端/服务端)
    [root@nas ~]# yum -y install rpcbind
    [root@nas ~]# yum -y install nfs-utils
    [root@nas ~]# mkdir /zhengzhou                                            //存储网站代码
    [root@nas ~]# echo "nfs test..." > /zhengzhou/index.html
    
    [root@nas ~]# vim /etc/exports
    /zhengzhou        192.168.122.0/24(rw,no_root_squash)    //不限制root(当client端使用root挂载时,也有root权限)  挂载是root ,同样保持root权限
    
    注意:如果再次修改配置文件。记得重新启动(重新加载)服务
    
    [root@nas ~]# systemctl restart nfs-server
    [root@nas ~]# systemctl enable nfs-server
    
    
    二、web1  客户端
    以web1为例:
    [root@web1 ~]# yum -y install rpcbind
    [root@web1 ~]# yum -y install nfs-utils 
    
    
    手动挂载 [可选]
    [root@web1 ~]# mkdir /qf
    [root@web1 ~]# mount  -t  nfs  192.168.122.59 :/zhengzhou  /qf 服务器IP地址
    [root@web1 ~]# umount /qf
    
    自动挂载到网站主目录
    [root@web1 ~]# vim /etc/fstab
    192.168.122.59 :/zhengzhou      /qf          nfs     defaults        0 0
    [root@web1 ~]# mount -a
    
    查看挂载
    [root@web1 ~]# df   -Th
    192.168.122.59:/zhengzhou    7923136 692416   6821568  10% /qf
    [root@web1 ~]# ls /qf
    index.html
    [root@web1 qf]# cat index.html 
    nfs test...
    
    

    1.5.ftp及lftp服务

    FTP Server 重要指数4星

    作用:提供文件共享服务

    一、FTP基础
    软件包: vsftpd
    FTP端口: 控制端口 command 21/tcp hih
    配置文件: /etc/vsftpd/vsftpd.conf

    ftp主动模式:

    ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
    
    

    ftp被动模式:

    ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
    
    

    默认使用被动模式

    二、vsftpd默认配置
    FTP Server(服务端)

    [root@youngfit ~]# yum -y install vsftpd        //下载ftp服务
    [root@youngfit ~]# systemctl start vsftpd       //启动ftp服务
    
    

    ==centos7==

    [root@iZwz9f17um10wphrf38ni8Z ~]# touch /var/ftp/test.txt
    
    [root@iZwz9f17um10wphrf38ni8Z ~]#chmod 777 /var/ftp/pub
    
    
    [root@iZwz9f17um10wphrf38ni8Z ~]# systemctl enable vsftpd   //将ftp服务设置为开机启动
    
    

    默认firewalld/SELinux已关闭,如果未关闭:

    [root@aliyun ~]# systemctl stop firewalld       
    [root@aliyun ~]# setenforce 0
    
    

    FTP默认共享目录:/var/ftp

    FTP Clinet(客户端):
    lftp命令

    [root@youngfit ~]# yum -y install lftp
    [root@youngfit ~]# vim /etc/hosts
    10.18.40.100    youngfit.com
    
    get命令(下载,首先要开启下载功能)
    [root@youngfit ~]# lftp youngfit.com
    lftp youngfit.com:~> ls                          
    drwxr-xr-x    2 0        0            4096 Mar 31  2016 pub
    -rw-r--r--    1 0        0               0 Nov 22 03:53 test.txt
    lftp youngfit.com:/> get test.txt       //从服务端上下载test.txt文件
    
    put命令(上传命令,上传之前请在服务端进行配置,将上传功能打开)
    [root@youngfit ~]# lftp 10.18.40.100
    lftp 10.18.40.100:/pub> put /home/upload.txt        //上传文件
    
    
    [root@youngfit ~]# lftp 10.18.40.100
    lftp 10.18.40.100:/pub> put -r /home                //上传目录及下面的子目录
    
    
    wget(下载命令,下载之前请在服务端进行配置,将下载功能打开)
    服务端:
    [root@ftp ftp]# ls /var/ftp/
    pub  test  test.txt
    
    客户端:
    [root@youngfit ~]# wget --help |less
    [root@youngfit ~]# wget ftp://10.18.40.100/test.txt
    [root@youngfit ~]# wget ftp://10.18.40.100/test.txt -P /tmp/ //-P参数 下载到指定路径
    [root@youngfit ~]# wget ftp://10.18.40.100/test.txt -O /tmp/a.sh  //-O 参数,下载到指定路径并修改名称
    [root@youngfit ~]# wget -m ftp://youngfit.com/test //-m 参数,将目录一并下载
    
    
    [root@youngfit ~]# lftp alice@youngfit.com   //默认看到的是alice家目录下的内容
    Password: 
    lftp alice@youngfit.com:~> ls        
    -rw-r--r--    1 0        0            1523 Nov 22 04:25 alice.txt
    lftp alice@youngfit.com:~> pwd
    ftp://alice@youngfit.com/%2Fhome/alice
    lftp alice@youngfit.com:~> put /etc/hosts
    
    默认使用匿名用户 ftp访问,HOME(家目录)为/var/ftp,默认仅能下载文件
    
    系统用户: alice,HOME /home/alice,默认可下载及上传
    
    

    三、基本配置,例如实现访问控制
    注意: 指令中的空格,指令错误,指令重复

    !!!!!这些功能都是服务端控制,所以修改的是服务端的配置文件!
    
    [root@youngfit ~]# vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=YES           //是否允许匿名用户登录ftp   YES为允许 NO为拒绝
    local_enable=YES                //是否允许本地用户登录(比如alice)
    write_enable=YES                //是否允许写(全局)
    local_umask=022                 //控制本地用户上传文件的默认权限,umask表示要减掉的权限(666-)
    anon_umask=022                  //控制匿名用户上传文件的默认权限 
    
    download_enable=YES           //是否允许下载文件
    
    anon_upload_enable=YES   //允许上传文件
    anon_mkdir_write_enable=YES   //允许上传目录
    
    anon_max_rate=500000           //匿名用户限速
    local_max_rate=80000              //本地用户限速
    max_clients=500                      //ftp最大连接数
    max_per_ip=2                         //单个IP最大连接数,线程数
    
    
    
    服务器关闭被动模式:
        #vim  /etc/vsftpd/vsftpd.conf
           pasv_enable=NO
    
    

    配置测试(每次加入新配置,都需要重启ftp服务):

    案例1:

    local_enable=YES                //是否允许本地用户登录(比如alice)
    
    
    ftp服务端:
    [root@ftp ~]# cd /home/kobe/
    [root@ftp kobe]# ls
    haha
    
    ftp客户端:
    [root@web1 ~]# lftp kobe@192.168.62.240
    Password: 
    lftp kobe@192.168.62.240:~> ls         
    drwxr-xr-x    2 0        0               6 Jan 05 11:31 haha
    
    

    案例2:

    anon_upload_enable=YES   //允许上传文件
    anon_umask=022                  //控制匿名用户上传文件的默认权限 (666-)
    
    
    客户端:
    [root@web1 ~]# lftp 192.168.62.240
    lftp 192.168.62.240:~> ls              
    drwxrwxrwx    2 0        0               6 Jan 05 11:36 pub
    drwxrwxrwx    2 0        0              24 Jan 05 11:24 test
    -rw-r--r--    1 0        0               0 Jan 05 11:01 test.txt
    lftp 192.168.62.240:/> cd pub/
    lftp 192.168.62.240:/pub> ls
    lftp 192.168.62.240:/pub> put  /home/upload.txt 
    9 bytes transferred
    
    服务端:
    [root@ftp pub]# pwd
    /var/ftp/pub
    [root@ftp pub]# ll
    total 4
    -rw-r--r--. 1 ftp ftp 9 Jan  5 19:36 upload.txt
    
    

    案例3

    max_per_ip=2                         //单个IP最大连接数,线程数
    
    

    同一个客户端,开三个终端去连接ftp服务

    第三个会连接失败

    案例4

    anon_max_rate=5           //匿名用户限速
    
    
    服务端:
    [root@ftp pub]# dd </dev/zero  >/var/ftp/pub/file1.txt bs=10M count=50
    50+0 records in
    50+0 records out
    524288000 bytes (524 MB) copied, 5.0535 s, 104 MB/s
    
    客户端:
    
    

    注释掉限速配置之后

    客户端:

    案例: 使用FTP共享YUM源
    Server(服务端10.18.40.100):

    [root@yangs ~]# mkdir /var/ftp/centos7u3            //创建一个目录
    [root@yangs ~]# mount  /dev/cdrom /var/ftp/centos7u3        //挂载镜像
    [root@yangs ~]# echo “mount   /dev/cdrom   /var/ftp/centos7u3”  >> /etc/rc.d/rc.local   //设置开机挂载
    [root@yangs ~]# chmod +x /etc/rc.d/rc.local //给予脚本权限
    
    

    Client(客户端):

    [root@youngfit ~]# vim /etc/yum.repos.d/centos7.repo 
    [centos7u3]
    name=centos7u3
    baseurl=ftp://10.18.40.100/centos7u3
    gpgcheck=0
    enabled=1
    
    

    相关文章

      网友评论

          本文标题:企业式交互站点NFS、FTP

          本文链接:https://www.haomeiwen.com/subject/gcoyqktx.html