一,nodejs的安装
1.使⽤yum安装了nodejs环境 (前提有腾讯源,上一篇安装步骤)
[root@two01 ~]# yum -y install epel-elease
[root@two01 ~]# yum list|grep nodejs //查询所需要的nodejs文件
[root@two01 ~]# yum list|grep nodejs
[root@two01 ~]# yum -y install nodejs.x86_64
[root@two01 ~]# node -v
v16.20.2
2.安装npm,设置镜像
[root@two01 ~]# yum list|grep npm
[root@two01 ~]# yum install npm.x86_64
[root@two01 ~]# npm -v8.9.14
3.使⽤npm安装了vue
[root@two01 ~]# mv npm.x86_64 /usr/local/node
切换到指定目录下我们要下载js文件
[root@two01 ~]# cd /usr/bin
[root@two01 bin]# ln -s /usr/local/node/bin/node node
[root@two01 bin]# ln -s /usr/local/node/bin/npm npm首先需要下载一个淘宝的镜像文件 下载完事后要切换到镜像中进行下载 (设置国内镜像)
[root@two01 bin]# npm config set registry https://registry.npm.taobao.org
[root@two01 bin]# npm config get registry //校验是否下载成功如果不好用的话可以使用如下代码
[root@two01 bin]# npm install -g cnpm --registry=https://registry.npm.taobao.org //-g全局安装
[root@two01 bin]# cd /usr/bin
[root@two01 bin]# ln -s /usr/local/node/bin/cnpm cnpm切换成功后 可对vue进行安装
[root@two01 bin]# npm install vue
安装后,我们可以就安装vue/cli
[root@two01 bin]# npm install -g @vue/cli
4.使⽤安装vue软件,创建vue项⽬ vue create vuehtml000
选择第三个(Manually) 回车 选router,vuex一直回车 填Y y
5.跳到项⽬⽬录中,npm run serve启动项⽬
[root@two01 bin]# vue create vuehtml000 //创建名为vuehtml000的项目
[root@two01 bin]# cd vuehtml000
[root@two01 vuehtml000]# npm run serve //启动开发服务
在浏览器中访问 http://localhost:8080 来查看Vue应用(记得关闭防火墙)
6.npm run build 构建静态项⽬
在vue项目的目录中找到才生成的dist目录
[root@two01 vuehtml1000]# ls
dist
[root@two01 vuehtml1000]# ls ./dist/
css favicon.ico index.html js7.将这些静态部署到nginx的html
[root@two01 vuehtml1000]# find / -name "html" -type d //找到nginx的html位置
[root@two01 vuehtml1000]# cp -R ./dist/* /usr/share/nginx/html //把./dist/下的所有文件复制到 /usr/share/nginx/html中[root@two01 vuehtml1000]# systemctl start nginx //启动nginx
[root@two01 vuehtml1000]# nginx -s reload
二,构建nginx
[root@two01 ~]# yum -y install gcc pcre-devel openssl-devel (安装依赖包)
[root@two01 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@two01 ~]# cd 桌面
[root@two01 桌面]# ls
nginx-1.22.1.tar.gz
[root@two01 桌面]# tar -xf nginx-1.22.1.tar.gz (解包)
[root@two01 桌面]# ls
nginx-1.22.1 nginx-1.22.1.tar.gz
[root@two01 桌面]# cd nginx-1.22.1/
[root@two01 nginx-1.22.1]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@two01 nginx-1.22.1]# useradd -s /sbin/nologin nginx (为了安全。Nginx 用户不能登陆)
[root@two01 nginx-1.22.1]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module //检查环境 //指定安装路径 默认的路径 可要可不要 //指定用户(以这个用户来执行这些,防止别的用户操作,为了安全) //指定组 //开启SSL加密功能
[root@two01 nginx-1.22.1]#make && make install
三,ssh
ssh服务的两种认证方式:
1.基于用户密码认证
2.基于密钥对的认证
系统默认安装的是openssl xshell也是使用ssh服务远程管理服务器的
[root@two01 vuehtml1000]# systemctl status sshd
[root@two01 vuehtml1000]# systemctl stop sshd //xshell断开连接 打开sshd在连接xshell
[root@two01 ~]# yum -y install bash-completion-extras.noarch
搭建ssh服务
1.环境准备
主机名 | ip地址 |
two01 | 192.168.195.12 |
one01 | 192.168.195.11 |
[root@two01 ~]# ssh -lroot -p22 192.168.195.11
root@192.168.8.131's password:
Last login: Wed Jul 17 11:29:44 2024 from 192.168.195.12
[root@one01 ~]#
2.安装ssh服务
openssh //已默认安装
ssh-server
ssh-client
3.关闭防火墙与Selinux(不关Selinux导致sshd的端口无法修改)
[root@one01 ~]# systemctl stop firewalld
[root@one01 ~]# systemctl disable firewalld
[root@one01 ~]# setenforce 0
验证openssh是否安装成功
[root@one01 ~]# yum list installed | grep openssh //搜查openssh
[root@one01 ~]# rpm -ql openssh
4.禁止root登录
查看并修改ssh服务端的配置文件
[root@one01 ~]# ls /etc/ssh/
ssh_config //ssh主配置文件
修改配置文件/etc/ssh/ssd_config, 不允许root账户远程登录
[root@one01 ~]# vim /etc/ssh/sshd_config
38行
[root@two01 ~]# ssh -l root -p 22 192.168.195.11 不允许登录
四、SSH服务任务解决方法
1.创建用户并设置密码
[root@one01 ~]# useradd trow
[root@one01 ~]# passwd trow
[root@two01 ~]# ssh -ltrow -p22 192.168.195.11 允许登录
trow@192.168.8.131's password:
[ trow@one01 ~]$
[root@one01 trow]# useradd lisi
[root@one01 trow]# passwd lisi
2.远程连接登录
[root@two01 ~]# ssh -ltrow -p22 192.168.195.11
trow@192.168.195.11's password:
Last login: Wed Jul 17 14:42:46 2024
[trow@one01 ~]$ ssh -llisi -p22 192.168.195.11
[lisi@aa ~]$
3.trow lisi 都添加到附加组
[root@one01 ~]# groupadd code 创建附加组
[root@one01 ~]# usermod -g code trow
[root@one01 ~]# usermod -g code lisi
4.更改目录文件所属组 为code目录添加code组权限
[root@one01 ~]# chgrp -R code /code/ 将code所属组修改为code组
[root@one01 ~]# ls -l /
[root@one01 ~]#chmod -R g+w /code/ 为code目录的组用户加上w权限
5.测试用户权限
[root@one01 ~]# su trow
[trow@one01 root]$ touch /code/woshitrow.txt
[trow@one01 root]$ exit
exit
[root@one01 ~]# su lisi
[lisi@one01 root]$ touch /opt/woshilisi
touch: 无法创建"/opt/woshilisi": 权限不够
[lisi@aa root]$ touch /code/woshilisi
6.更改SSH默认端口
修改主配置文件
[root@one01 ~]# vim /etc/ssh/sshd_config
重启ssh服务
[root@aone01~]# systemctl restart sshd
验证
[root@two01 ~]# ssh -llisi 192.168.195.11
ssh: connect to host 192.168.195.11 port 22: Connection refused
[root@two01 ~]# ssh -llisi -p 9999 192.168.195.11
lisi@192.168.195.11's password:
Last login: Wed Jul 17 15:04:48 2024
ssh连接服务器,如果服务端口是22,可以不用添加-p选项
如果不是22端口,就必须添加-p选项
ssh -p 9999 list@192.168.195.11
7.安装pwgen密码生成工具
[root@one01 ~]# yum -y install pwgen
8.使用pwgen生成随机密码
pwgen 选项参数 长度 生成个数
[root@one01 ~]# pwgen -cnBs1 10 1
注意:SSH服务补充
1.scp命令
主要功能:用于Linux系统与Linux系统之间进行文件的传输(上传、下载)
上传:
scp [选项]本地文件路径 远程用户名@远程服务器的IP地址:远程文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项
下载:
#scp [选项]远程用户名@远程服务器的IP地址:远程文件路径 本地文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项
scp上传也要注意用户权限问题,没有权限的目录无法上传
2.踢出用户
查看当前在线用户
[root@one01 ~]# who
root pts/0 2024-07-17 11:29 (192.168.8.1)
wangwu pts/1 2024-07-17 16:11 (192.168.8.132)踢出某个账户
[root@one01 ~]# pkill -kill -t pts/1
五、SSH免密登录的具体实现
第一步:在A主机针对某个账号(tom或jerry)生成公钥与私钥
第二步:使用某些方法把公钥发送到B主机中,然后追加到authorized_keys文件中
第三步: 测试是否实现免密登录
方法一:比较常用(trow)
1.在A主机针对某个账号生成公钥与私钥
# ssh-keygen~/.ssh/id_res 私钥
~/.ssh/id_ras.pub 公钥
[trow@one01 ~]$ ls ./.ssh/
id_rsa id_rsa.pub known_hosts
[trow@one01 ~]$ ls ./.ssh/ -l
总用量 12
-rw------- 1 zhangsan code 1675 7月 17 16:17 id_rsa
-rw-r--r-- 1 zhangsan code 393 7月 17 16:17 id_rsa.pub
-rw-r--r-- 1 zhangsan code 175 7月 17 14:50 known_hosts使⽤ssh-copy-id把公钥⽂件中的内容传输到服务器端的~/.ssh/authorized_keys⽂件中
[trow@one01 ~]$ ssh-copy-id root@192.168.195.12[trow@one01 ~]$ ssh -l root 192.168.195.12 第二次不需要密码
Last login: Wed Jul 17 10:30:30 2024 from 192.168.95.11
[root@two01 ~]#[root@two01 ~]# ls ./.ssh/
authorized_keys known_hosts
方法二:
1、随便找个账户执行ssh-keygen按3次回车,会在当前用户的家目录下生成~/.ssh/id_res私钥和/.ssh/id_rsa_pub公钥
2、ssh-copy-id -p 22 root@10.0.0.11 用root对root,用trow对trow免密
3、ssh -p xxx root@ip地址
练习
1.新增账号 zhangsan lisi wangwu zhaoliu aaa bbb ccc ddd //去两台新机子
[root@x ~]# groupadd code
您在 /var/spool/mail/root 中有新邮件
[root@x ~]# useradd -g code zhangsan
[root@x ~]# useradd -g code lisi
[root@x ~]# useradd -g code wangwu
[root@x ~]# useradd -g code zhaoliu
[root@x ~]# useradd -g code aaa
[root@x ~]# useradd -g code bbb
[root@x ~]# useradd -g code ccc
[root@x ~]# useradd -g code ddd
2.设置和账号同名的如果长度不够8位就重复账号
[root@x ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd wangwu
更改用户 wangwu 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd zhaoliu
更改用户 zhaoliu 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd aaa
更改用户 aaa 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd bbb
更改用户 bbb 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd ccc
更改用户 ccc 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
3.设置这些账户都有对code目录w的权限
[root@x ~]# useradd -g code zhangsan
[root@x ~]# useradd -g code lisi
[root@x ~]# useradd -g code wangwu
[root@x ~]# useradd -g code zhaoliu
[root@x ~]# useradd -g code aaa
[root@x ~]# useradd -g code bbb
[root@x ~]# useradd -g code ccc
[root@x ~]# useradd -g code ddd
4.为以上的用户设置免密登录
zhangsan免密登录:
[root@b ~]# su zhangsan
[zhangsan@b root]$ ssh-keygen[zhangsan@b root]$ cd
[zhangsan@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[zhangsan@b ~]$ ssh-copy-id root@192.168.195.13[zhangsan@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14lisi免密登录:
[root@b ~]# su lisi
[lisi@b root]$ ssh-keygen[lisi@b root]$ cd
[lisi@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[lisi@b ~]$ ssh-copy-id root@192.168.195.13[lisi@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14
wangwu免密登录:
[root@b ~]# su wangwu
[wangwu@b root]$ ssh-keygen[wangwu@b root]$ cd
[wangwu@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[wangwu@b ~]$ ssh-copy-id root@192.168.195.13[wangwu@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14
zhaoliu免密登录:
[root@b ~]# su zhaoliu
[zhaoliu@b root]$ ssh-keygen[zhaoliu@b root]$ cd
[zhaoliu@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[zhaoliu@b ~]$ ssh-copy-id root@192.168.195.13[zhaoliu@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14aaa免密登录:
[root@b ~]# su aaa
[aaa@b root]$ ssh-keygen[aaa@b root]$ cd
[aaa@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[aaa@b ~]$ ssh-copy-id root@192.168.195.13[aaa@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14bbb免密登录:
[root@b ~]# su bbb
[bbb@b root]$ ssh-keygen[bbb@b root]$ cd
[bbb@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[bbb@b ~]$ ssh-copy-id root@192.168.195.13[bbb@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14ccc免密登录:
[root@b ~]# su ccc
[ccc@b root]$ ssh-keygen[ccc@b root]$ cd
[ccc@b ~]$ ls ./.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[ccc@b ~]$ ssh-copy-id root@192.168.195.13[ccc@b ~]$ ssh -l root 192.168..195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14