最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
获取Nginx
Nginx的官方主页: http://nginx.org
关闭防火墙关闭selinux
[root@soso666 ~]# systemctl stop firewalld #关闭防火墙
[root@soso666 ~]# systemctl disable firewalld #开机关闭防火墙
[root@soso666 ~]# setenforce 0 #临时关闭selinux
[root@soso666 ~]# getenforce #查看selinux状态
Nginx安装:
Yum方式:
[root@soso666 ~]# cd /etc/yum.repos.d/
[root@soso666 yum.repos.d]# vi nginx.repo
[nginx]
name=nginx
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 #关闭
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
2.1构建NFS远程共享存储
存储分类:
文件系统级别共享(是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 #安装nfs服务,提供文件系统
启动服务
[root@nfs-server ~]# systemctl start nfs
[root@nfs-server ~]# systemctl start 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 #取消挂载
3.ftp及lftp
FTP Server 重要指数4星
作用:提供文件共享服务,实现上传下载
端口:
21号,建立tcp连接 默认端口
20号:传输数据
一、FTP基础
软件包: vsftpd
FTP端口: 控制端口 command 21/tcp
配置文件: /etc/vsftpd/vsftpd.conf
ftp主动模式
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
21端口建立连接
20端口传输数据
ftp被动模式
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
二、vsftpd配置
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
FTP默认共享目录:/var/ftp
[root@ftp-server ~]# touch /var/ftp/test.txt #创建文件到共享目录
[root@ftp-server ~]# systemctl enable vsftpd
[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
mirror 下载目录
三、基本配置,例如实现访问控制
[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
4.DNS域名解析服务
域名解析
域名对应ip
www.baidu.com这个域名--对应IP---183.232.231.174
解析方式:
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/524ae5d7a15032095d289b91196814e2.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/8f15d1dcd07e4125b3380c02a84cb88d.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
4)]
给大家整理的电子书资料:
[外链图片转存中...(img-CJNqW7Y2-1714808154845)]
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**