环境搭建(Centos7)
安装 git
Centos 自带的 git 版本比较低,而且 yum 仓库也没有 git 2.x 的版本,所以需要自己编译安装。
1、下载最新版本源码
# 下载最新版本源码
yum install -y wget
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、解压编译
# 安装编译依赖
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、配置环境变量
# 删除已有的 git
yum remove git
# 配置环境变量
vim /etc/profile
# GIT_HOME
GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
# 刷新
source /etc/profile
安装 nvm、node
# 安装 nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.9/install.sh | bash
source ~/.bashrc
# 安装 node
nvm 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.rpm
yum info nginx
yum install -y nginx
# 启动 nginx
systemctl 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 安装 Docker
sudo yum install docker
# 启动Docker
service docker start
# 设置开机启动docker
systemctl enable docker
# 查看docker是否安装成功
docker version
# 重启docker
sudo 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 yes
docker 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'