1.安装nodejs服务
nodejs是一个运行环境,和javajdk运行环境格式一样
[root@localhost ~]# yum list | grep nodejs
[root@localhost ~]# yum -y install nodejs.x86_64
2.安装完成之后,使用node-v查看版本
[root@localhost ~]# node -v
v16.20.2简易服务器环境
3.安装包管理器(npm node package manager)
[root@localhost ~]# yum -y install npm
[root@localhost ~]# npm -v
8.19.4
4. npm设置国内镜像
[root@localhost ~]# npm config set registry https://registry.npmmirror.com
5.安装vue的脚手架软件
使用npm(nodejs 包管理器)安装软件
[root@localhost ~]# npm install -g @vue/cli -g -g表示全局安装
[root@localhost ~]# find / -name "vue"
/usr/local/bin/vue
/usr/local/lib/node_modules/@vue/cli/node_modules/vue
[root@localhost ~]# /usr/local/bin/vue -V
6.使用vue脚手架创建一个前端项目
[root@localhost ~]# /usr/local/bin/vue create vuehtml1000 //在当前目录创建vuehtml1000目录,程序员就可以在这个文件中开发前端页面,需要时间较长
选择第三个(Manually) 回车 选router,vuex一直回车 填Y y
[root@localhost ~]# tree vuehtml1000/ //查看项目信息
7.启动前端项目
7.1进入到项目的目录
[root@localhost ~]# cd vuehtml1000
7.2执行npm run serve
[root@localhost vuehtml1000]# npm run serve
关闭防火墙,浏览器访问出现页面
(如果访问不到,需关闭防火墙systemctl stop firewalld)
8.构建静态的html项目 npm run build
在vue项目的目录中找到才生成的dist目录
[root@localhost vuehtml1000]# ls
babel.config.js node_modules public vue.config.js
dist package.json README.md
jsconfig.json package-lock.json src
[root@localhost vuehtml1000]# ls ./dist/
css favicon.ico index.html js
9.将这些静态部署到nginx的html
9.1找到nginx的html
[root@localhost vuehtml1000]# find / -name "html" -type d
9.2将./dist/下的所有文件复制到 /usr/share/nginx/html中
[root@localhost vuehtml1000]# cp -R ./dist/* /usr/share/nginx/html
[root@localhost vuehtml1000]# systemctl start nginx
[root@localhost vuehtml1000]# nginx -s reload
总结:
1、使用yum安装了nodejs环境
2、安装npm,设置镜像
3、使用npm安装了vue脚手架
4、使用安装vue软件,创建vue项目vue create vuehtml000
5、跳到项目目录中,npm run serve 启动项目
6、npm run build 构建项目
7、将构建的项目目录dist目录中的所有文件部署到nginx的html目录中
8、启动nginx
一、远程管理ssh服务
ssh服务的两种认证方式:
1.基于用户密码认证
2.基于密钥对的认证
基于密钥对的认证就是免密登录,理解免密登录的原理:
des 对称的公钥加密算法,安全低,数据传输速度快;使用同一个密钥进行加密或解密
rsa 非对称的公钥加密算法,安全,数据传输速度慢,SSH默认的加密算法
SSH商用收费的对安全负责
系统默认安装的是openssl xshell也是使用ssh服务远程管理服务器的
[root@localhost vuehtml1000]# systemctl status sshd
[root@localhost vuehtml1000]# systemctl stop sshd //xshell断开连接 打开sshd在连接xshell
[root@localhost ~]# yum -y install bash-completion-extras.noarch
1.搭建ssh服务
1.1环境准备
[root@localhost ~]# ssh -lroot -p22 192.168.8.131
root@192.168.8.131's password:
Last login: Wed Jul 17 11:29:44 2024 from 192.168.8.1
[root@aa ~]#
2.安装ssh服务
1.openssh
2.ssh-server
3.ssh-client
当前系统已经默认安装了openssh
3.关闭防火墙与Selinux(不关Selinux导致sshd的端口无法修改)
[root@aa ~]# systemctl stop firewalld
[root@aa ~]# systemctl disable firewalld
[root@aa ~]# setenforce 0
验证openssh是否安装成功
[root@aa ~]# yum list installed | grep openssh
[root@aa ~]# rpm -ql openssh
4.禁止root登录
4.1查看并修改ssh服务端的配置文件
[root@aa ~]# ls /etc/ssh/
ssh_config ssh主配置文件
4.2修改配置文件 不允许root账户远程登录 /etc/ssh/ssd_config
[root@aa ~]# vim /etc/ssh/sshd_config
38行
[root@localhost ~]# ssh -lroot -p22 192.168.8.131 不允许登录
二、SSH服务任务解决方案
1.创建用户并授权
1.1创建用户并设置密码
[root@aa ~]# useradd zhangsan
[root@aa ~]# passwd zhangsan
[root@localhost ~]# ssh -lzhangsan -p22 192.168.8.131 允许登录
zhangsan@192.168.8.131's password:
[zhangsan@aa ~]$
[root@aa zhangsan]# useradd lisi
[root@aa zhangsan]# passwd lisi
1.2远程连接登录
[root@localhost ~]# ssh -lzhangsan -p22 192.168.8.131
zhangsan@192.168.8.131's password:
Last login: Wed Jul 17 14:42:46 2024
[zhangsan@aa ~]$ ssh -llisi -p22 192.168.8.131
[lisi@aa ~]$
[root@aa ~]# ls -l /home/
[root@aa ~]# mkdir /code/
[root@aa ~]# ls -l /
1.3zhangsan lisi 都添加到附加组
[root@aa ~]# groupadd code 创建附加组
[root@aa ~]# usermod -g code zhangsan
[root@aa ~]# usermod -g code lisi
1.4更改目录文件所属组 为code目录添加code组权限
[root@aa ~]# chgrp -R code /code/ 将code所属组修改为code组
[root@aa ~]# ls -l /
[root@aa ~]# chmod -R g+w /code/ 为code目录的组用户加上w权限
2.测试用户权限
[root@aa ~]# su zhangsan
[zhangsan@aa root]$ touch /code/woshizhangsan.txt
[zhangsan@aa root]$ exit
exit
[root@aa ~]# su lisi
[lisi@aa root]$ touch /opt/woshilisi
touch: 无法创建"/opt/woshilisi": 权限不够
[lisi@aa root]$ touch /code/woshilisi
3.更改SSH默认端口
3.1修改主配置文件
[root@aa ~]# vim /etc/ssh/sshd_config
17行
3.2重启ssh服务
[root@aa ~]# systemctl restart sshd
3.3验证
[root@localhost ~]# ssh -llisi 192.168.8.131
ssh: connect to host 192.168.8.131 port 22: Connection refused
[root@localhost ~]# ssh -llisi -p9999 192.168.8.131
lisi@192.168.8.131's password:
Last login: Wed Jul 17 15:04:48 2024
ssh连接服务器,如果服务端口是22,可以不用添加-p选项
如果不是22端口,就必须添加-p选项
ssh -p 9999 -lisi 192.168.8.131
ssh -p 9999 list@192.168.8.131
4.安装pwgen密码生成工具
[root@aa ~]# yum -y install pwgen
5.使用pwgen生成随机密码
pwgen 选项参数 长度 生成个数
[root@aa ~]# pwgen -cnBs1 10 1
三、SSH服务补充
1.scp命令
主要功能:用于Linux系统与Linux系统之间进行文件的传输(上传、下载)
上传:
scp [选项]本地文件路径 远程用户名@远程服务器的IP地址:远程文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项
下载:
#scp [选项]远程用户名@远程服务器的IP地址:远程文件路径 本地文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项
scp上传也要注意用户权限问题,没有权限的目录无法上传
2.踢出用户
查看当前在线用户
[root@aa ~]# 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@aa ~]# pkill -kill -t pts/1
四、SSH免密登录的具体实现
SSH免密的实现思路一共分为三个步骤(三步走)
第一步:在A主机针对某个账号(tom或jerry)生成公钥与私钥
第二步:使用某些方法把公钥发送到B主机中,然后追加到authorized_keys文件中
第三步: 测试是否实现免密登录
☆方法一:比较常用(zhangsan)
1.在A主机针对某个账号生成公钥与私钥
# ssh-keygen
~/.ssh/id_res 私钥
~/.ssh/id_ras_pub 公钥
[zhangsan@aa root]$ cd
[zhangsan@aa ~]$ ls ./.ssh/
id_rsa id_rsa.pub known_hosts
[zhangsan@aa ~]$ 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⽂件中
[zhangsan@aa ~]$ ssh-copy-id root@192.168.8.132
[zhangsan@aa ~]$ ssh -lroot 192.168.8.132 第二次不需要密码
Last login: Wed Jul 17 10:30:30 2024 from 192.168.8.1
[root@localhost ~]#
[root@localhost ~]# ls ./.ssh/
authorized_keys known_hosts
1、随便找个账户执行ssh-keygen按3次回车,会在当前用户的家目录下生成~/.ssh/id_res私钥和/.ssh/id_rsa_pub公钥
2、ssh-copy-id -p22 root@10.0.0.11 用root对root,用zhangsan对zhangsan免密
3、ssh -pxxx root@ip地址