1.2Nginx基本使用
获取Nginx
Nginx的官方主页: http://nginx.org
关闭防火墙关闭selinux
[root@soso666 ~]# systemctl stop firewalld #关闭防火墙
[root@soso666 ~]# systemctl disable firewalld #开机关闭防火墙
[root@soso666 ~]# setenforce 0 #临时关闭selinux
[root@soso666 ~]# vim /etc/sysconfig/selinux
[root@soso666 ~]# getenforce #查看selinux状态
Nginx安装:
Yum方式:
[root@soso666 ~]# cd /etc/yum.repos.d/
[root@soso666 yum.repos.d]# vi nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@soso666 yum.repos.d]# yum clean all
[root@soso666 yum.repos.d]# yum makecache
[root@soso666 ~]# yum install -y nginx #安装nginx
[root@soso666 ~]# systemctl start nginx #启动
[root@soso666 ~]# systemctl restart nginx #重启
[root@soso666 ~]# systemctl enable nginx #开机启动
[root@soso666 ~]# systemctl stop nginx #关闭
systemctl status nginx 查看
1.查看nginx状态
[root@soso666 ~]# ps aux | grep nginx
root 3927 0.0 0.0 46384 968 ? Ss 18:46 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 3928 0.0 0.1 46792 1932 ? S 18:46 0:00 nginx: worker process
root 3932 0.0 0.0 112660 968 pts/1 R+ 18:47 0:00 grep --color=auto nginx
2.查看nginx端口
[root@soso666 ~]# netstat -lntp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3927/nginx: master
#注意:nginx默认端口为80
3.测试主页是否可以访问:
[root@soso666 ~]# curl -I http://127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Sat, 16 Nov 2019 10:49:48 GMT
Content-Type: text/html
Content-Length: 635
Last-Modified: Fri, 11 Oct 2019 06:45:33 GMT
Connection: keep-alive
ETag: "5da0250d-27b"
Accept-Ranges: bytes
存储分类:
文件系统级别共享(是NAS存储(网络附加存储通过网线)) --------- 已经做好了格式化,可以直接用。 速度慢
nfs,samba
(SAN存储区域网)块级别的共享---------是指设备 先格式化才能用。使用光线。最好的,也是最贵的。san ipsan ceph
DAS(直连式存储):直接可以链接,受限与服务器的接口。快。
=====================================================
因为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-server 192.168.246.160
客户端:web1 192.168.246.161
centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
#systemctl stop firewalld
#systemctl disable firewalld
#setenforce 0
NFS-server操作
[root@nfs-server ~]# yum -y install rpcbind #安装rpc协议的包
[root@nfs-server ~]# yum -y install nfs-utils #安装ngs服务,提供文件系统
启动服务
[root@nfs-server ~]# systemctl start nfs 开启nfs
[root@nfs-server ~]# systemctl start rpcbind 开启rpcbind
[root@nfs-server ~]# mkdir /nfs-dir #创建存储目录
[root@nfs-server ~]# echo "nfs-test" >> /nfs-dir/index.html #制作test文件
[root@nfs-server ~]# vim /etc/exports #编辑共享文件
/nfs-dir 192.168.246.0/24(rw,no_root_squash,sync)
参数注释:
no_root_squash:不压制root权限
ro:只读
rw:读写
*:表示所有。
sync:同步
[root@nfs-server ~]# systemctl restart nfs-server #重启服务。
[root@nfs-server ~]# systemctl enable nfs-server #制作开机启动
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.246.160:/nfs-dir /qf #挂载
[root@web1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.1G 16G 7% /
tmpfs tmpfs 98M 0 98M 0% /run/user/0
192.168.246.160:/nfs-dir nfs4 17G 1.4G 16G 8% /qf
[root@web1 ~]# ls /qf
index.html
[root@web1 ~]# umount /qf #取消挂载
FTP Server 重要指数4星
作用:提供文件共享服务,实现上传下载
端口:
21号,建立tcp连接 默认端口
20号:传输数据
软件包: vsftpd
FTP端口: 控制端口 command 21/tcp
配置文件: /etc/vsftpd/vsftpd.conf
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
21端口建立连接
20端口传输数据
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
FTP Server(服务端)
实验环境--准备两台机器
关闭防火墙和selinux
#systemctl stop firewalld
#systemctl disable firewalld
#setenforce 0
=========================================
ftp-server 192.168.246.160
client 192.168.246.161
==========================================
[root@ftp-server ~]# yum install -y vsftpd
[root@ftp-server ~]# systemctl start vsftpd 重启vsftpd
FTP默认共享目录:/var/ftp
[root@ftp-server ~]# touch /var/ftp/test.txt #创建文件到共享目录
[root@ftp-server ~]# systemctl enable vsftpd 开机启动vsftpd
(# systemctl disable vsftpd 开机禁止启动vsftp) 扩展
[root@ftp-server ~]# cd /var/ftp/
[root@ftp-server ftp]# ls
pub
[root@ftp-server ftp]# chmod 777 pub/ #给上传目录设置权限
编辑配置文件
[root@ftp-server ~]# vi /etc/vsftpd/vsftpd.conf ----将下面的注释取消
[root@ftp-server ~]# systemctl restart vsftpd 重启配置文件
FTP Clinet(客户端)
关闭防火墙和selinux
[root@client ~]# yum -y install lftp #安装客户端
get命令(下载,首先要开启下载功能)
[root@client ~]# lftp 192.168.246.160
lftp 192.168.246.160:~> ls
drwxr-xr-x 2 0 0 6 Oct 30 2018 pub
-rw-r--r-- 1 0 0 0 Nov 16 12:00 test.txt
lftp 192.168.246.160:/> get test.txt #下载
lftp 192.168.246.160:/> exit
[root@client ~]# ls #会下载到当前目录
anaconda-ks.cfg test.txt
put命令(上传命令,上传之前请在服务端进行配置,将上传功能打开)
[root@client ~]# touch upload.txt #创建测试文件
[root@client ~]# mkdir /test/ #创建测试目录
[root@client ~]# touch /test/test1.txt #在测试目录下面创建测试文件
[root@client ~]# lftp 192.168.246.160
lftp 192.168.246.160:~> cd pub/
lftp 192.168.246.160:/pub> put /root/upload.txt #上传文件
lftp 192.168.246.160:/pub> ls
-rw------- 1 14 50 0 Nov 16 12:14 upload.txt
lftp 192.168.246.160:/pub> mirror -R /test/ #上传目录以及目录中的子文件
Total: 1 directory, 1 file, 0 symlinks
New: 1 file, 0 symlinks
lftp 192.168.246.160:/pub> ls
drwx------ 2 14 50 23 Nov 16 12:18 test
-rw------- 1 14 50 0 Nov 16 12:14 upload.txt
三、基本配置,例如实现访问控制
[root@ftp-server ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //是否允许匿名用户登录ftp YES为允许 NO为拒绝
local_enable=YES //是否允许本地用户登录(比如alice)
write_enable=YES //是否允许写(全局)
local_umask=022 //控制本地用户上传文件的默认权限,umask表示要减掉的权限
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最大连接数,线程数
local_root=/ftproot //指定本地用户访问的家目录
anon_root=/anonroot //指定匿名用户访问的家目录
服务器关闭被动模式:
#vim /etc/vsftpd/vsftpd.conf
pasv_enable=NO
域名对应ip
www.baidu.com这个域名--对应IP---183.232.231.174
解析方式:
本地解析:/etc/hosts 默认先使用本地解析
[root@linux-server ~]# vim /etc/hosts #添加如下内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.160 www.soso666.cn
表示:cn域下面有一个soso666,soso666下面有一台叫www的机器。解析速度快。机器少可以不用DNS。
使用DNS服务器解析
DNS: domain name service
客户端设置(指定)DNS:
# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.246.2
nameserver 114.114.114.114
域名空间
DNS里面顶层是: . 表示根域 ( 一共有十三台根服务器)
顶级域名(也叫一级域名) 分类:职能:com域,gov域,.org域(非营利机构),edu域名(教育)
国家:.cn , us , hk(中国香港)
二级域名:平时申请的。例如:baidu、jd
三级域名:自己设置。(如果下面还有东西就是三级域名,如果没有就是主机名。)最开头的是主机名称。
完整域名:www.dfs.soso666.cn.
主机名,三级 二级 一级
重点–dns解析过程
1,客户端拿到域名先访问/etc/hosts配置文件,如果有本地解析会直接使用,如果没有会去看/etc/resolv.conf :如果有答案会直接给出结果。如果没有会帮助转发。如果缓存服务器都没有给出结果那么会找到根服务器
2. 找根服务器。根服务指定一级域名,一级域名同过二级域名查询
实验环境:
准备一台服务器作为DNS服务192.168.246.160
解析域名为:soso.qianfeng.com
测试机:192.168.246.161
1.安装软件
bind 主包----服务叫named
bind-utils 客户端测试工具(host 、dig 、nslookup)
bind-chroot chroot环境 禁锢dns服务器的工作目录
[root@linux-server ~]# yum install -y bind-utils
[root@linux-server ~]# yum install -y bind-chroot
[root@linux-server ~]# systemctl start named #启动服务
[root@linux-server ~]# netstat -lntp | grep named #查看named的端口
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 8515/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 8515/named
tcp6 0 0 ::1:53 :::* LISTEN 8515/named
tcp6 0 0 ::1:953 :::* LISTEN 8515/named
2.工作目录:
/etc 存放主配置文件 :指定区域配置文件的位置
/var/named 区域配置文件: 主要用来做解析。 配置ip对应域名。域名对应ip
3.先编辑主配置文件:
[root@linux-server ~]# cd /etc
[root@linux-server etc]# mv /etc/named.conf /etc/named.conf.bak
[root@linux-server etc]# vim named.conf
options {
directory "/var/named"; #指定目录
};
zone "qianfeng.com" IN { #区域
type master; #类型
file "qianfeng.com.zone";
};
zone "soso888.com." IN {
type master;
file "soso888.com.zone";
};
[root@linux-server etc]# ll
-rw-r--r-- 1 root root 112 Nov 16 22:25 named.conf
[root@linux-server etc]# chown named.named named.conf
新建指定域名的配置文件,加权限:
[root@linux-server etc]# cd /var/named/
[root@linux-server named]# vim qianfeng.com.zone
$TTL 86400
@ IN SOA wing.qianfeng.com. root.qianfeng.com (
100000000
3H
15M
1W
1D)
IN NS wing.qianfeng.com.
wing IN A 192.168.246.160
www.qianfeng.com. IN A 192.168.246.160
test.qianfeng.com. IN A 192.168.246.160
[root@linux-server named]# vim soso888.com.zone
$TTL 86400
@ IN SOA www.soso888.com. root.soso888.com (
100000000
3H
15M
1W
1D)
IN NS www.soso888.com.
www IN A 192.168.246.160 #第一行先定义本主机
www.soso888.com. IN A 192.168.246.160
ftp.soso888.com. IN CNAME www.soso888.com.
[root@linux-server named]# ll
-rw-r--r-- 1 root root 443 Nov 16 22:54 qianfeng.com.zone
-rw-r--r-- 1 root root 341 Nov 16 22:54 soso888.com.zone
[root@linux-server named]# chown named.named *.zone
参数解释:
$TTL 86400 指的是时间秒一天 缓存时间
@ 表示当前域名
SOA 起始授权记录
IN 表示记录
100000000 序列号主从DNS用到的,每次更新一次主配置文件序列号,从服务器检查自己的序列号,如果序列号不同,则会更新配置文件
3H 更新时间(多久进行一次从主从序列号检查,默认3个小时)
15M 如果更新失败,15分钟再次尝试
1W 如果一直失败,一周之后放弃
1D 缓存时间
NS记录(指定管理某个域的服务器)
A: A记录(正向解析)把域名解析为ip
重启named
[root@linux-server named]# systemctl restart named
测试
登录测试机器修改dns地址
[root@dns-test ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.246.160 #指定dns服务器地址