Linux的网络的配置
如果找不到ifconfig命令,则需要安装下net-tools
sudo apt-get install net-tools
或者
sudo apt install net-tools
在终端中输入 ifconfig命令 可以查看ip,mac地址等
Linux的软件安装
linux下很多软件都是自己下载源代码、自己编译并安装的,有点痛苦。因此很多发行版的Linux都有自己的安装包格式。
比如RedHat使用*.rpm的文件,Ubuntu使用*.deb文件。
如果自己查找、下载安装软件还是很麻烦。因此很多发行版的Linux中都提供了类似于应用市场、NuGet的东西。
Ubuntu推荐使用apt进行下载、安装软件。它会从ubuntu官网下载软件(中国区镜像),如果下载速度慢的话,可以设置从其他镜像下载,具体搜索“Ubuntu apt-get 镜像”
执行某些程序的时候,如果这个程序没安装,还会提示你,比如执行vim、tree等。
安装软件需要sudo执行。如下:
1> 安装 sudo apt-get install 程序名 例如:sudo apt-get install vim
2> 卸载 sudo apt-get remove 程序名 例如:sudo apt-get remove vim
SSH服务
什么是SSH服务?
SSH 是一种建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。通过使用SSH,你可以把所有传输的数据进行加密,避免被攻击,也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"
讲运维人员是怎么远程连接到机房上的服务器?
他们很少使用图形界面(因为卡,无法自动化)
既然要远程连接到机房上的服务器,就需要有远程登录专门的通信协议telnet, telnet就是通过网络进行命令行操作服务器。只有服务器端开始了远程登录服务,客户端才能通过telnet协议控制服务器端。
但telnet协议使用明文传输数据,这会造成严重的安全性问题,所以现在几乎不推荐使用,而替代协议是SSH。SSH通讯过程数据是加密的。
怎么使用SSH服务呢?
我们需要在Linux上安装SSH服务器 (OpenSSH是SSH服务器的其中一种,一般情况下我们推荐安装OpenSSH)
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。
SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。
而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。
OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
Linux安装使用OpenSSH (Ubuntu默认只安装了OpenSSH软件客户端openssh-client,但是没有安装服务端)
安装服务端: sudo apt-get install openssh-server
查看服务器是否开启:netstat -tlp
启动 sudo /etc/init.d/ssh start
重启sudo /etc/init.d/ssh restart
ssh服务默认端口22,可通过修改配置文件修改端口/etc/ssh/sshd_config
在windows端 我们可以通过一些支持SSH协议的软件来连接到Linux 这样就可以在Windows上远程操作Linux了
这里我们推荐的软件是 putty 它轻便好用。直接打开,填上Linux系统的的IP地址就可以使用。
然后点击Open 就开始连接了。连接成功后,需要输入Linux的用户名和密码(密码不回显)
进入之后,就算连接上Linux终端了。我们可以在里打开vi 也可以操作命令,执行dir命令查看目录,等等。
Linux下安装Mysql
首先检查系统中是否已经安装了MySQL
在终端里面输入 sudo netstat -tap | grep mysql
若没有反映,没有显示已安装结果,则没有安装
安装
1> sudo apt-get install mysql-server 安装服务端 (根据提示设置root用户的密码,测试时候建议将密码设置为root,正式环境最好不要将密码设为root)
2> sudo apt-get install mysql-client 安装管理客户端
3> 或者直接执行 sudo apt-get install mysql-server mysql-client
4> 安装完毕后在终端中执行 mysql -u用户名 -p密码 就可以通过客户端连接进入Linux下的mysql数据库
因为我的mysql 用户名是root 而密码也是root 所以我执行 mysql -uroot -proot 就可以连接进入mysql了
5> 进入mysql后可以执行查询命令:例如:show databases;可以查询mysql下又哪些数据库(注意:不能丢掉;号)
执行select now();可以查询当前时间
6> 退出mysql 的命令是 quit;
安装完成后,我们可以通过上面的命令进入mysql,然后在mysql中执行命令
例如:
mysql>show databases; 可以查询所有的数据库
mysql>create database dbName; 可以创建一个名字为dbName的数据库
配置MySQL远程访问(需要网络配置为桥接网络)
平常我们都是在windows下 通过mysql的客户端界面来查看MySql数据库里的数据的,所以我们可以在windows下安装一个Mysql的客户端工具 (我个人喜欢用 Navicat for MySQL这个客户端)
为了让windows下的mysql客户端工具连接到Linux下的MySql服务器,我们需要在Linux下对访问进行配置
基于安全考虑,mysql默认只能本机连接。如果想通过其他电脑连接(比如主机访问虚拟机中的mysql),就需要配置。最好不要配置成任意电脑都可以连接,因为危险。要配置成只允许某些ip访问。
1>编辑mysql的配置文件mysqld.cnf ,由于mysql是系统服务,因此需要以sudo运行vi,才有权限。
执行 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf。
打开这个文件之后,找到 bind-address = 127.0.0.1 这段文字,然后将它注释掉
(其实就是在它前面加一个# 即:# bind-address = 127.0.0.1) 然后保存
2>执行sudo /etc/init.d/mysql restart 重启mysql服务
3>配置允许某台电脑的IP可以访问Linux下的MySql (假设:我只有一台电脑,安装的是windows系统,在windows系统下安装了一个虚拟机,虚拟机中安装了Linux,在Linux下安装了mysql)
3.1>在Linux中,将网络连接方式设为桥接网卡,界面名称设为你自己的网卡(如果mysql是安装在独立的Linux服务器中,而不是本机的虚拟机下,则不需要这一步操作)
3.2>在windows下执行cmd 命令 在cmd中执行ipconfig 查询主机的ip地址 (就是连接外网的IP地址)
例如我的ip地址是:192.168.31.143
3.3> 在Linux下打开终端,执行 mysql -u用户名 -p密码 进入mysql
(因为我的mysql用户名和密码都是root,所以我执行 mysql -uroot -proot就进入mysql了)
3.4> 进入mysql后执行 grant all privileges on *.* to root@"192.168.31.143" identified by "这里换成mysql密码" with grant option; (注意:别丢掉最后的这个分号,这段话就表示允许192.168.31.143这个ip地址访问mysql)
3.5>执行完上面那段代码后,在mysql下再执行 flush privileges; 它的意思是强制刷新
4>通过以上配置,我们就可以在我们的windows下通过mysql客户端工具来连接(我是用 Navicat for MySQL客户端)
Linux下安装FTP服务器
Linux下的FTP服务器有很多种,这里建议安装vsftp (号称最安全最好用的ftp服务器)
1>什么是ftp。通过ftp进行文件的上传下载
2>安装vstft 执行:sudo apt-get install vsftpd (这时候可以用linux用户登录,也能够访问/home/用户名的文件夹。但是只有下载权限,没有上传权限。
如果需要开启上传权限需要配置 执行:sudo vi /etc/vsftpd.conf 将 write_enable=YES 前面的#取消(write_enable=YES的意思表示可以上传)
3>重启vsftp 执行:sudo /etc/init.d/vsftpd restart 重启
4>经过上面的配置就可以在Windows下可以使用FileZilla FTP Client等FTP客户端工具进行上传下载了