服务器运维基础指南
作为一个开发人员,对于服务器的操作不可避免。最常用的操作就是部署应用到服务器,及在生产,测试环境通过查看日志排查问题。
一般服务器都是linux操作系统并且是无图形界面的,所以进行任何操作都是通过命令行,由于从新一代程序员接触电脑都是从图形界面开始,所以在开始使用命令行的时候都不是很习惯,如果使用命令行习惯了,发挥现命令行可以干很多有趣,高效率的事情,提高生产力,让程序员更加专注在高技术含量的工作中。
链接服务器入口
mac使用自带的终端,就可以直接登录服务器。windows需要下载工具例如:xshell
登录服务器ssh
登录服务器有两种方式:
通过密码登录
免密码登录
ssh -l user ip/域名
ssh: secure shell 安全外壳协议,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄漏问题。
通过密码登录
输入: ssh -l user ip/域名
user:登录用户名
ip/域名: 服务器所属的公网id地址,或者应用的域名,如果要查看域名解析后的ip,在命令行输入 ping 域名,可以查看应用所属的公网ip(前提服务器没有做均衡负载,代理…)。
终端会提示你输入密码,此时输入密码,密码正确就可以登录服务器。
免密码登录
免密码登录方式第一次还是需要输入密码登录,不同的是,在登录之后把自己的密钥加入到服务器,下次就可以免密码登录。
生成ssh key
登录进服务器进入 ~ 目录下的 .ssh 打开 authorized_keys 文件如果没有则创建,把自己的公钥加入到authorized_keys里。之后再次使用ssh进入服务器的时候,不用输入密码就可以直接登录。
小技巧:mac可以新建一个.sh文件把ssh -l user ip/域名加入.sh文件,放在桌面默认使用终端打开,以后就可以双击.sh文件直接进入服务器(甚至可以在.sh写其他命令实现自动化)。
退出服务器exit
exit
查看当前目录位置 pwd
pwd
显示当前目录下的所有文件ls
ls :列出当前目录下的所有文件
ls -l :列出当前目录下的所有文件及文件的详情
进入退出目录cd
cd .. :返回到上级目录
cd /. :返回根目录
cd 目录名 : 进入具体目录
新建目录mkdir
mkdir file/filename
启动运行脚本./
./xx.sh
查看文件内容cat/tail
cat xxx.xx :查看文件的所有内容
tail -n 行数 xxx.xxx : 查看文件末尾xx行数
vi/vim xxx.xxx : 查看并且可以修改文件内容
移动文件到具体目录 mv
mv xx sss : 移动xx文件到sss目录
建议删除文件时,先把文件移动到 /tmp目录下(linux的临时目录关机会清空,建议在此目录下进行删除)。
删除文件 rm
rm -f xxx :强制删除文件
rm -rf xxx : -r 表示向下递归删除 -f 删除不提示 注意: rm -rf (不跟参数)会删除整个系统 , 就算有参数 linux没有回收站的概念 慎用慎用
rm -f . :梅花大法慎用,可能会误删除删除整个服务器
修改文件的用户权限chown/chmod
chown -R user:user file :修改文件的用户权限 文件支持通配符
chmod 777 xxxx :改变文件权限 777就是高权限(读、写、执行 )登录用户他所在的组和其他人都有最高权限。(比较危险的操作)
查看java程序的相关进程jps
jps :查看java程序进程
拷贝文件到具体目录cp/scp
cp -r copyed copy : 把copyed复制到copy目录
scp xxx root:ip:/目录 : 复制xxx到远程ip服务器目录下
启动服务关闭终端继续运行nohup
有时我们需要在服务器运行一些jar打包的应用,关闭终端后应用就关闭我们可以在 启动jar应用的命令前增加 nohup
解压/压缩文件 unzip/zip
unzip -o xxx.xx -d sss :解压文件xxx.xx到sss并且全部覆盖
zip -r xxx.zip ./* : 压缩文件当前目录下的所有文件
如果没有unzip zip 命令执行,可以安装unzip/zip
yum install -y unzip zip
总结
目前这些命令基本能够满足日常开发韵味服务器,但这只是简单的一些操作服务器的命令,如果有更多的需求可以系统的学习linux,那也是一个很大的话题 运维。