本人是软件工程专业的一名大四学生,通过同学分享的方式了解到“飞天加速计划·高校学生在家实践”活动,以下向大家分享本人在使用服务器过程中安装软件和部署项目的笔记(亲测可用)
1. 安装配置MySQL
1.1 安装
1.1.1 下载安装包
由于 centos的yum 源中默认没有mysql,所以没有办法使用yum直接安装,两种解决方案:
①去MySQL官网中下载YUM源rpm安装包:MySQL :: Download MySQL Yum Repository
②执行以下命令下载YUM源rpm安装包
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
1.1.2 安装 yum repo文件
注:第一种用过,第二种未使用过,效果未知
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
或
yum localinstall mysql80-community-release-el7-1.noarch.rpm
会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
1.1.3 更新yum源
yum clean all
yum makecache
1.1.4 查看mysql yum仓库中mysql版本
yum repolist all | grep mysql
可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态;
如果不想安装mysql8.0的版本我们可以按下面操作去做,要是安装的mysql8.0版本这步可以略过。
使用 yum-config-manager
命令修改相应的版本为启用状态,最新版本为禁用状态:
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
或者
可以编辑mysql repo
文件,将相应版本下的enabled
改成 1 即可:
cat /etc/yum.repos.d/mysql-community.repo
1.1.5 安装mysql 命令
1.1.5.1 安装
yum install mysql-community-server
若运行安装时出现以下错误(GPG Keys秘钥错误):
可以在运行安装之前导入密钥,执行如下命令:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
1.1.5.2 开启mysql服务
systemctl start mysqld.service
1.1.5.3 设置开机自启
systemctl enable mysqld.service
1.1.5.4 附上mysql服务操作
#启动mysql
systemctl start mysqld.service
#结束
systemctl stop mysqld.service
#重启
systemctl restart mysqld.service
#开机自启
systemctl enable mysqld.service
1.1.6 获取初始密码登录mysql
mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中
cat /var/log/mysqld.log | grep password
1.1.7 首次登录并修改密码
使用初始密码登录mysql
mysql -uroot -p
首次登陆更改密码:
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
注:更改的密码要求为:至少8位,且必须同时包含数字、大写字母、小写字母
若不想设置过于复杂的密码可以降低设置密码的强度等级(方法详见1.2),但不建议降低。
1.2 密码策略
1.2.1 查看 mysql 初始的密码策略
输入语句 SHOW VARIABLES LIKE 'validate_password%';
进行查看,(如是第一次陆,则需要更改密码后才能查看)
1.2.2 设置密码的验证强度等级
设置 validate_password_policy 的全局参数为 LOW 即可
输入设值语句 set global validate_password_policy=LOW;
进行设置
注:mysql8.0版本必须符合长度(默认是8位),且必须含有数字,小写或大写字母,特殊字符。因为实在我本地自己的库,所以我修改了密码最小长度和密码的策略
mysql 8.0以上 新版本账号密码策略修改和密码修改
老版本的密码策略变量:validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong。
validate_password_length密码长度的最小值(这个值最小要是4)。
validate_password_number_count 密码中数字的最小个数。
validate_password_mixed_case_count大小写的最小个数。
validate_password_special_char_count 特殊字符的最小个数。
validate_password_dictionary_file 字典文件
8.0后要注意密码策略变量变化
validate_password.check_user_name ON
validate_password.dictionary_file
validate_password.length
validate_password.mixed_case_count
validate_password.number_count
validate_password.policy
validate_password.special_char_count
如:validate_password_policy 变为validate_password.policy,所以
set global validate_password_policy=0;变为 set global validate_password.policy=0 ;
密码最小长度(4):
set global validate_password_length=6; 变为 set global validate_password.length=4
设置完毕密码策略后,重新执行修改密码的命令,进行修改密码即可
1.3 远程设置
1.3.1 远程设置
mysql> use mysql;
mysql> update user set host='%' where user='root';
#以下命令用于授权用户名的权限,赋予任何主机访问数据的权限,视情况执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
1.3.2 开放3306端口
1.3.2.1 查看已经开放的端口
firewall-cmd --list-ports
1.3.2.2 开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:–zone #作用域
–add-port=3306/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
1.3.2.3 重启防火墙
开放后需要重启方可生效
firewall-cmd --reload
1.3.2.4 Navicat连接错误
端口开放后就可以进行数据库连接操作了,在使用Navicat连接 Mysql 8.0.15可能会出现问题 Client does not support authentication protocol 错误解决方法:
#修改加密规则
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新一下用户的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
#刷新权限
FLUSH PRIVILEGES;
1.3.2.5 阿里云服务器部署
若在阿里云服务器上配置安装mysql,需到阿里云工作台中的 网络与安全
中的 安全组
中将3306端口开放。(入方向指外部访问云服务器,出方向则相反,出方向默认是全部开放的,无需配置)
2. 防火墙相关命令
systemctl start firewalld.service #开启服务
systemctl status firewalld #查看FirewallD防火墙状态
firewall-cmd --state #查看防火墙状态,是否是running
systemctl stop firewalld.service #临时关闭防火墙
systemctl enable firewalld #设置开机启动防火墙
systemctl disable firewalld #设置禁止开机启动防火墙
firewall-cmd --permanent --query-port=80/tcp #查看80端口有没开放
firewall-cmd --reload #重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --query-service ftp #查看ftp服务是否放行,返回yes或者no
firewall-cmd --add-service=ftp --permanent #永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent #永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent #永久添加80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent #移除80端口
参数含义:
--zone #作用域
--permanent #永久生效,没有此参数重启后失效
3. 部署Node.js环境(NVM方式)
3.1 安装git
yum install git -y
3.2 克隆NVM源码到本地的~/.nvm,并检查最新版本
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
3.3 配置NVM环境变量
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
3.4 查看Node.js版本
nvm list-remote
3.5 安装Node.js版本
nvm install v14.0.0
3.6 查看已安装的所有node.js版本
nvm ls
3.7 切换node.js版本
nvm use 版本号
例:nvm use v14.0.0
3.8 部署(此法不得行,断开连接后程序也关闭了)
注:记得先去服务器工作台配置安全组,把对应端口开放,同样的服务器中的防火墙对应的端口也需要开放,开放后记得重启防火墙!!!
① 将项目上传至服务器目录中(上传前可将 node_modules
依赖文件夹删除,加快上传速度)
② 修改 vue.config.js
文件中的 port 端口号的值,不修改默认为8080端口,也可在上传前先修改好
③ 执行 npm install
命令下载依赖
④ 执行 npm run build
命令将项目编译打包
⑤ 执行 npm run serve
命令启动项目
4. Linux服务器部署vue项目
4.1 安装所需环境
4.1.1 安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境
yum install gcc-c++
4.1.2 安装PCRE pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库
yum install -y pcre pcre-devel
4.1.3 安装zlib
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos7 上安装 zlib 库。
yum install -y zlib zlib-devel
4.1.4 安装openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)
yum install -y openssl openssl-devel
4.2 安装Nginx
4.2.1 下载
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
4.2.2 解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
4.2.3 配置
./configure
4.2.4 编译安装
make
make install
4.2.5 查找安装路径
whereis nginx
#进入安装路径
cd /usr/local/nginx
4.2.6 启动、停止nginx
#进入sbin文件
cd sbin
#启动
./nginx
#Stop 是快速关闭,不管有没有正在处理的请求
./nginx -s stop
#Quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求
./nginx -s quit
#重启
./nginx -s reload
4.2.7 查看nginx进程
ps -ef | grep nginx
注:安装完后记得在云服务器和防火墙开启对应端口,安装后默认为80端口;
4.3 部署
4.3.1 打包
# 进入项目根目录执行以下命令
npm run build
打包成功后会在根目录生成一个 dist
文件夹
4.3.2 在服务器中创建项目目录
mkdir /home/vue_project/test
4.3.3 放置打包文件至服务器
将打包后的 dist
文件夹上传至服务器刚才创建的文件夹中,即 /home/vue_project/test
下
4.3.4 配置域名映射
#进入nginx配置文件目录,找到nginx的配置文件nginx.conf
cd /usr/local/nginx/conf/
#直接修改
vim nginx.conf
添加一个server选项,复制上面原本的在原来基础上修改即可
#listen为监听的端口
#server_name为域名
#location是访问地址的设置,locahost也可以用服务器ip代替
#root 就是你打包后vue的文件夹地址
#index 指的你要访问的页面
4.3.5 重新加载配置文件(修改完成后)
cd /usr/local/nginx/sbin/
./nginx -s reload
注:在config文件中配置的端口号,在防火墙和安全组中也需要对应的开放
5.安装JDK
5.1 将安装包上传至服务器中
可使用xftp连接线上服务器,然后将本地文件上传至服务器中
5.2 创建安装文件夹
mkdir -p /export/install
5.3 解压安装包至刚才创建的安装文件夹中
#注意:运行此命令时应当处于安装包所在路径中(或将./替换成安装包所处的绝对路径)
tar -zxvf ./jdk-8u144-linux-x64.tar.gz -C /export/install
5.4 配置环境变量
5.4.1 编辑文件
vim /etc/profile.d/java.sh
5.4.2 将内容复制到文件中
exportJAVA_HOME=/export/install/jdk1.8.0_144
exportPATH=$PATH:$JAVA_HOME/bin
5.4.3 更新profile文件
source /etc/profile
5.5 检查版本
java -version
若输出 java
的版本号,即为安装成功
最后感谢阿里云平台为学生党提供的“高校学生在家实践”活动,让还未工作的我们能够接触到一些工作之后才能接触到的技术,感谢阿里云平台提供的相关教程视频