环境搭建(Centos7

安装 git

Centos 自带的 git 版本比较低,而且 yum 仓库也没有 git 2.x 的版本,所以需要自己编译安装。
1、下载最新版本源码

  1. # 下载最新版本源码
  2. yum install -y wget
  3. wget -O /tmp/git-2.21.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz

2、解压编译

  1. # 安装编译依赖
  2. yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  3. # 解压
  4. tar -zxf /tmp/git-2.21.0.tar.gz -C /tmp/
  5. cd /tmp/git-2.21.0
  6. # 检验相关依赖,设置安装路径
  7. ./configure --prefix=/usr/local/git
  8. # 编译安装
  9. make && make install

3、配置环境变量

  1. # 删除已有的 git
  2. yum remove git
  3. # 配置环境变量
  4. vim /etc/profile
  5. # GIT_HOME
  6. GIT_HOME=/usr/local/git
  7. export PATH=$PATH:$GIT_HOME/bin
  8. # 刷新
  9. source /etc/profile

安装 nvm、node

  1. # 安装 nvm
  2. wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.9/install.sh | bash
  3. source ~/.bashrc
  4. # 安装 node
  5. nvm install 12.22.10

安装 yarn、pm2

  1. npm install yarn pm2 -g

安装 nginx

  1. # 安装 yum 源
  2. rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  3. yum info nginx
  4. yum install -y nginx
  5. # 启动 nginx
  6. systemctl start nginx.service
  7. # nginx配置文件位置在/etc/nginx/
  8. vim /etc/nginx/conf.d/default.conf
  9. # 网站打包后项目放置目录
  10. /usr/share/nginx/html
  11. # 重新加载配置
  12. nginx -s reload
  13. # 停止服务
  14. nginx s stop
  15. # 检查配置文件(启动或重启失败可以尝试)
  16. nginx -t

安装docker

  1. # 使用 yum 安装 Docker
  2. sudo yum install docker
  3. # 启动Docker
  4. service docker start
  5. # 设置开机启动docker
  6. systemctl enable docker
  7. # 查看docker是否安装成功
  8. docker version
  9. # 重启docker
  10. sudo service docker restart
  11. # mysql
  12. # 将容器中的 mysql 配置文件复制到宿主机中指定路径下,路径你可以根据需要,自行修改
  13. docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /usr/local/docker/mysql/config/
  14. 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
  15. #
  16. 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 yes
  17. docker run -d --name mongo -v /usr/local/docker/mongo/configdb:/data/configdb -v mongo:/data/db -p 27017:27017 mongo:4 --auth

常用操作

  1. # 获取管理员权限
  2. sudo su
  3. #下载文件
  4. curl | wget
  5. # linux 包管理工具
  6. yum | apt-getapt install xxx
  7. # 查看文件位置
  8. which xxx
  9. # 查看磁盘剩余空间
  10. df -hl

常见问题

  1. # 解决 vim 粘贴内容错乱问题
  2. 先按ESC输入:set paste再复制粘贴 就行了

文件上传、下载

安装 lrzsz

  1. yum -y install lrzsz

本地文件上传

输入 rz 并回车后,会自动弹出文件选择框,选择确定后就会上传到使用命令时所在的目录。

  1. rz

服务器下载文件到本地

  1. # 下载一个文件
  2. # sz filename
  3. #下载多个文件
  4. # sz filename1 filename2
  5. # 下载 dir 目录下的所有文件,不包含 dir 下的文件夹
  6. # sz dir/*

目录操作

创建目录

使用 mkdir 命令创建目录

  1. mkdir $HOME/testFolder

切换目录

使用 cd 命令切换目录

  1. cd $HOME/testFolder

使用 cd ../ 命令切换到上一级目录

  1. cd ../

移动目录

使用 mv 命令移动目录

  1. mv $HOME/testFolder /var/tmp

删除目录

使用 rm -rf 命令删除目录

  1. rm -rf /var/tmp/testFolder

查看目录下的文件

使用 ls 命令查看 [/etc] 目录下所有文件和文件夹

  1. ls /etc

/etc 目录默认是 *nix 系统的软件配置文件存放位置

文件操作

任务时间:5min ~ 10min

创建文件

使用 touch 命令创建文件

  1. touch ~/testFile

执行 ls 命令, 可以看到刚才新建的 testFile 文件

  1. ls ~

复制文件

使用 cp 命令复制文件

  1. cp ~/testFile ~/testNewFile

删除文件

使用 rm 命令删除文件, 输入 y 后回车确认删除

  1. rm ~/testFile

查看文件内容

使用 cat 命令查看 .bash_history 文件内容

  1. cat ~/.bash_history

过滤, 管道与重定向

过滤

过滤出 /etc/passwd 文件中包含 root 的记录

  1. grep 'root' /etc/passwd

递归地过滤出 /var/log/ 目录中包含 linux 的记录

  1. grep -r 'linux' /var/log/

管道

简单来说, Linux 中管道的作用是将上一个命令的输出作为下一个命令的输入, 像 pipe 一样将各个命令串联起来执行, 管道的操作符是 |
比如, 我们可以将 cat 和 grep 两个命令用管道组合在一起

  1. cat /etc/passwd | grep 'root'

过滤出 /etc 目录中名字包含 ssh 的目录(不包括子目录)

  1. ls /etc | grep 'ssh'

重定向

可以使用 > 或 < 将命令的输出重定向到一个文件中

  1. echo 'Hello World' > ~/test.txt

运维常用命令

ping 命令

对 cloud.tencent.com 发送 4 个 ping 包, 检查与其是否联通

  1. ping -c 4 cloud.tencent.com

netstat 命令

netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等
列出所有处于监听状态的tcp端口

  1. netstat -lt

查看所有的端口信息, 包括 PID 和进程名称

  1. netstat -tulpn

查看端口占用情况

  1. netstat -anp | grep 6060
  2. # 关闭占用端口的进程
  3. kill -9 23153(PID)

ps 命令

过滤得到当前系统中的 ssh 进程信息

  1. ps -aux | grep 'ssh'