# Linux简单介绍
- Linux 是一套开源操作系统,它有稳定、消耗资源小、功能很强、安全性高等特点,让它在 服务器领域有庞大的用户群体
- 目前市面上较知名的发行版有:RedHat、Ubuntu、CentOS、Debian、Fedora、SuSE、OpenSUSE、 Arch Linux、SolusOS 等
- 常见的服务器操作系统主要有
CentOS、Ubuntu、Debian,CentOS现在市场占有率第一
# Linux常用命令
# 配置服务器的免密码快捷登录
# 登录服务器: ssh
ssh,
secure shell protocol,以更加安全的方式连接远程服务器
# root: 用户名
# 192.168.13.21
$ ssh root@192.168.13.21
# 配置别名快速登录:ssh-config
在本地电脑上配置
ssh-config,对自己管理的服务器起别名,可以更方便地登录多台云服务器
ssh-config 的配置文件
/etc/ssh/ssh_config
~/.ssh/config
示例
# 修改~/.ssh/config配置
Host tencent # 服务器别名
HostName 413.12.151.18
User root
Host server # 服务器别名
HostName 192.168.105.130
User root
配置成功之后直接
ssh就可以直接登录
# 登录服务器1
ssh tencent
# 登录服务器2
ssh server
# 免密登录:public-key 与 ssh-copy-id
把自己的公钥放在远程服务器的 authorized_keys 中
把本地文件
~/.ssh/id_rsa.pub中内容复制粘贴到远程服务器~/.ssh/authorized_keys
简单来说,就是 Ctrl-C 与 Ctrl-V 操作,不过还有一个更加有效率的工具: ssh-copy-id。
# 在本地环境进行操作
# 提示你输入密码,成功之后可以直接 ssh 登录,无需密码
$ ssh-copy-id tencent
# 登陆成功,无需密码
$ ssh tencent
# 登录成功服务器,可以看到authorized_keys中的公钥信息
Last login: Tue Jun 28 09:31:25 2022
[root@VM-8-14-centos ~]# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCf4fy+KhLFADybnII3OOOI0MAghkuYgEqPLAbhQfrL+zjj1qSoX1dnaZ9PULykGU+QN4nyRrduZOgvDaUCMR+vPDJH3Nii45HUuKWBpdyA/L1sQ7pLKsBsOca7HK4U0P7lrux2IfnOmbYCz4xPsbc/RDArkYbc2uIszmwvdtgGL49fJn6VUC0TaQvRX5dQWznyC3HgarBze2NoilXfKsBr5V2Moc83QkUZdU8fFiiiolpDHf2narGwz+r1bhZrazfI72nOUTjXd5GXd+VOnZdxnk8njBeAAW87RwZ3b2Cg5FsEckzKWP5ddvVxoPEv8cmk= xx@qq.com
[root@VM-8-14-centos ~]#
# 保持连接,防止断掉
我们可以通过 man ssh-config,找到每一项的详细释义。
# 编辑 ~/.ssh/config
Host *
ServerAliveInterval 30
TCPKeepAlive yes
ServerAliveCountMax 6
Compression yes
# Linux环境变量
通过 printenv 可获得系统的所有环境变量
$ printenv
TERM_SESSION_ID=w0t0p0:5D9702D2-F505-4D4D-B65B-745A4055x4D13
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.mIeXmJ4KFo/Listeners
LC_TERMINAL_VERSION=3.4.15
COLORFGBG=7;0
ITERM_PROFILE=Default
XPC_FLAGS=0x0
LANG=zh_CN.UTF-8
PWD=/Users/poetry
SHELL=/bin/zsh
TERM_PROGRAM_VERSION=3.4.15
我们也可以通过
printenv,来获得某个环境变量的值
$ printenv NVM_BIN
/Users/poetry/.nvm/versions/node/v16.15.0/bin
通过
$var或者${var}可以取得环境变量,并通过 `echo`` 进行打印
$ echo $path
/Users/poetry/.nvm/versions/node/v16.15.0/bin /opt/anaconda3/bin /usr/local/bin /usr/local/sbin /usr/local/bin /usr/bin /bin /usr/sbin /sbin
$HOME当前用户目录,也就是~目录$USER当前用户名$PATH环境变量,指向环境变量的路径$SHELL当前用户的 shell,比如bash、zsh、fish等export可以用来设置环境变量,比如
$ export PATH=/usr/local/bin:$PATH
$ export NODE_ENV=production
$ echo $NODE_ENV
production
# 如果需要使得配置的环境变量永久有效,需要写入 ~/.bashrc 或者 ~/.zshrc
在执行命令之前置入环境变量,可以用以指定仅在该命令中有效的环境变量。
# 该环境变量仅在当前命令中有效
$ NODE_ENV=production printenv NODE_ENV
production
# 没有输出
$ printenv NODE_ENV
# 在前端中大量使用,如
$ NODE_ENV=production npm run build
# 使用 rsync进行文件拷贝
快速高效,支持断点续传、按需复制的文件拷贝工具,并支持远程服务器拷贝,建议在本地也使用
rsync替换cp进行文件拷贝
# 将本地的test目录拷贝到服务器的/home目录
#
# -l:--links,拷贝符号链接
# -a:--archive,归档模式
# -h:--human-readable,可读化格式进行输出
# -z:--compress,压缩传输
# -v:--verbose,详细输出
$ rsync -lahzv ~/Download/test root@192.168.12.12:/home
拷贝目录,则需要看原目录是否以
/结尾
- 不以
/结尾,代表将该目录连同目录名一起进行拷贝 - 以
/结尾,代表将该目录下所有内容进行拷贝
# 服务安装
# mongodb4.x的安装配置
官方文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
# Mongodb的安装
配置yum源
- 在路径
/etc/yum.repos.d/下创建文件mongodb-org-4.0.repo
cd /etc/yum.repos.d/
touch mongodb-org-4.0.repo
- 在文件
mongodb-org-4.0.repo中写入如下内容(下面内容可以直接复制,也可以复制官方文档)
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
- 安装mongodb
yum install -y mongodb-org
- 开启mongodb服务
systemctl start mongod
# 进入mongod终端
$ mongo

- 设置开机启动mongodb
systemctl enable mongod
# 远程连接mongodb
- 修改mongo.conf文件
- 命令:
sudo vi /etc/mongod.conf - 将原来bindIp:
127.0.0.1修改为0.0.0.0
- 命令:
- 重启动mongo服务:
service mongod restart - 永久开放
27017端口:firewall-cmd --zone=public --add-port=27017/tcp --permanent;(--permanent永久生效,没有此参数重启后失效)firewall-cmd --reload
# Mongodb4.x卸载
- 停止服务
service mongod stop - 删除安装的包
rpm -qa | grep mongodb-org列出所有的包yum remove -y $(rpm -qa | grep mongodb-org)- 也可以尝试下面命令卸载
yum remove -y mongodb-org*
- 删除数据及日志
rm -r /var/log/mongodbrm -r /var/lib/mongo
# mysql安装配置
找到mysql的yum源rpm包 https://dev.mysql.com/downloads/repo/yum
mysql安装源地址:http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
查看机器上面是否安装过mysql
rpm -qa | grep mysql*
yum list installed | grep mysql*
mysql的安装:
# 安装redis
- 检查是否有
redisyum 源
yum search redis
yum info redis
- 安装 epel 仓库
EPEL (Extra Packages for Enterprise Linux)是基于 Fedora 的一个项目,为“红帽系”的操作系 统提供额外的软件包,适用于 RHEL、CentOS 和 Scientific Linux.
yum install epel-release -y
- 安装 redis 数据库
yum info redis
yum install redis -y
- 安装完毕后,使用下面的命令启动 redis 服务
linux 上面进入 Redis 客户端

# 搭建 Nodejs 生产环境
- 安装 Nginx