环境搭建(Centos7)
安装 git
Centos 自带的 git 版本比较低,而且 yum 仓库也没有 git 2.x 的版本,所以需要自己编译安装。
1、下载最新版本源码
# 下载最新版本源码yum install -y wgetwget -O /tmp/git-2.21.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz
2、解压编译
# 安装编译依赖yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker# 解压tar -zxf /tmp/git-2.21.0.tar.gz -C /tmp/cd /tmp/git-2.21.0# 检验相关依赖,设置安装路径./configure --prefix=/usr/local/git# 编译安装make && make install
3、配置环境变量
# 删除已有的 gityum remove git# 配置环境变量vim /etc/profile# GIT_HOMEGIT_HOME=/usr/local/gitexport PATH=$PATH:$GIT_HOME/bin# 刷新source /etc/profile
安装 nvm、node
# 安装 nvmwget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.9/install.sh | bashsource ~/.bashrc# 安装 nodenvm install 12.22.10
安装 yarn、pm2
npm install yarn pm2 -g
安装 nginx
# 安装 yum 源rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmyum info nginxyum install -y nginx# 启动 nginxsystemctl start nginx.service# nginx配置文件位置在/etc/nginx/vim /etc/nginx/conf.d/default.conf# 网站打包后项目放置目录/usr/share/nginx/html# 重新加载配置nginx -s reload# 停止服务nginx –s stop# 检查配置文件(启动或重启失败可以尝试)nginx -t
安装docker
# 使用 yum 安装 Dockersudo yum install docker# 启动Dockerservice docker start# 设置开机启动dockersystemctl enable docker# 查看docker是否安装成功docker version# 重启dockersudo service docker restart# mysql# 将容器中的 mysql 配置文件复制到宿主机中指定路径下,路径你可以根据需要,自行修改docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /usr/local/docker/mysql/config/docker run -d --name mysql -p 3306:3306 -v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql@dev123 mysql:5.7#docker run -d --name redis -p 6379:6379 -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v redis:/data redis redis-server /etc/redis/redis.conf --appendonly yesdocker run -d --name mongo -v /usr/local/docker/mongo/configdb:/data/configdb -v mongo:/data/db -p 27017:27017 mongo:4 --auth
常用操作
# 获取管理员权限sudo su#下载文件curl | wget# linux 包管理工具yum | apt-get(apt) install xxx# 查看文件位置which xxx# 查看磁盘剩余空间df -hl
常见问题
# 解决 vim 粘贴内容错乱问题先按ESC输入:set paste再复制粘贴 就行了
文件上传、下载
安装 lrzsz
yum -y install lrzsz
本地文件上传
输入 rz 并回车后,会自动弹出文件选择框,选择确定后就会上传到使用命令时所在的目录。
rz
服务器下载文件到本地
# 下载一个文件# sz filename#下载多个文件# sz filename1 filename2# 下载 dir 目录下的所有文件,不包含 dir 下的文件夹# sz dir/*
目录操作
创建目录
使用 mkdir 命令创建目录
mkdir $HOME/testFolder
切换目录
使用 cd 命令切换目录
cd $HOME/testFolder
使用 cd ../ 命令切换到上一级目录
cd ../
移动目录
使用 mv 命令移动目录
mv $HOME/testFolder /var/tmp
删除目录
使用 rm -rf 命令删除目录
rm -rf /var/tmp/testFolder
查看目录下的文件
使用 ls 命令查看 [/etc] 目录下所有文件和文件夹
ls /etc
/etc 目录默认是 *nix 系统的软件配置文件存放位置
文件操作
任务时间:5min ~ 10min
创建文件
使用 touch 命令创建文件
touch ~/testFile
执行 ls 命令, 可以看到刚才新建的 testFile 文件
ls ~
复制文件
使用 cp 命令复制文件
cp ~/testFile ~/testNewFile
删除文件
使用 rm 命令删除文件, 输入 y 后回车确认删除
rm ~/testFile
查看文件内容
使用 cat 命令查看 .bash_history 文件内容
cat ~/.bash_history
过滤, 管道与重定向
过滤
过滤出 /etc/passwd 文件中包含 root 的记录
grep 'root' /etc/passwd
递归地过滤出 /var/log/ 目录中包含 linux 的记录
grep -r 'linux' /var/log/
管道
简单来说, Linux 中管道的作用是将上一个命令的输出作为下一个命令的输入, 像 pipe 一样将各个命令串联起来执行, 管道的操作符是 |
比如, 我们可以将 cat 和 grep 两个命令用管道组合在一起
cat /etc/passwd | grep 'root'
过滤出 /etc 目录中名字包含 ssh 的目录(不包括子目录)
ls /etc | grep 'ssh'
重定向
可以使用 > 或 < 将命令的输出重定向到一个文件中
echo 'Hello World' > ~/test.txt
运维常用命令
ping 命令
对 cloud.tencent.com 发送 4 个 ping 包, 检查与其是否联通
ping -c 4 cloud.tencent.com
netstat 命令
netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等
列出所有处于监听状态的tcp端口
netstat -lt
查看所有的端口信息, 包括 PID 和进程名称
netstat -tulpn
查看端口占用情况
netstat -anp | grep 6060# 关闭占用端口的进程kill -9 23153(PID)
ps 命令
过滤得到当前系统中的 ssh 进程信息
ps -aux | grep 'ssh'
