阿里云服务器(centos7.6)部署前后端分离项目
Mysql8安装部署
确定一下系统的glibc版本,可以使用以下命令进行查看,当前系统glibc版本:2.17(重要!!!)
要根据自己服务器的版本去选择对应的mysql,不然后续安装会报错!!!
rpm -qa | grep glibc
官方下载地址:官网:https://www.mysql.com/
选择自己对应的glibc版本
创建压缩包存放目录
mkdir /compile/package/mysql/mysql8.4.0
创建安装目录
mkdir /compile/install/mysql
先将已经下载好的压缩包上传到虚拟机的存放目录里面,然后将压缩包解压到安装目录里面
(这里我通过xftp将压缩包上传到虚拟机)
将加压出来的文件夹里面的文件全部移动到 /compile/install/mysql/mysql8.4.0 里面,也可以理解为把文件名改为mysql8.4.0
cd /compile/install/mysql
mv mysql-8.4.0-linux-glibc2.17-x86_64 mysql8.4.0
在mysql目录下创建data文件夹
cd /compile/install/mysql/mysql8.4.0/
mkdir data
mysql安装目录赋予权限
chmod -R 777 /compile/install/mysql/mysql8.4.0/
# 创建组
groupadd mysql
# 创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
# 将用户添加到组中
chown -R mysql:mysql ./
将mysql文件夹的所有者和所有组都改为mysql
chown -R mysql.mysql /compile/install/mysql/mysql8.4.0/
进入bin目录执行mysqld文件进行初始化
cd /compile/install/mysql/mysql8.4.0/bin/
./mysqld --user=mysql --basedir=/compile/install/mysql/mysql8.4.0/ --datadir=/compile/install/mysql/mysql8.4.0/data --initialize
初始化之后会生成一个密码要记住
vim /etc/my.cnf
[mysqld]
port=3306
basedir=/compile/install/mysql/mysql8.4.0
datadir=/compile/install/mysql/mysql8.4.0/data
character-set-server=utf8
default-storage-engine=INNODB[mysql]
default-character-set=utf8[client]
port=3306
default-character-set=utf8
如果启动失败,检查一下mysql进程是否已经存在
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧
# 进入mysql.server服务目录
cd /compile/install/mysql/mysql8.4.0/support-files/
# 启动服务
./mysql.server start
将mysql添加到系统进程中
cp /compile/install/mysql/mysql8.4.0/support-files/mysql.server /etc/init.d/mysqld
此时我们就可以使用服务进程操作mysql了
设置mysql自启动
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
登录mysql
密码是前面随机生存的密码
# 进入mysql bin目录
cd /compile/install/mysql/mysql8.4.0/bin/
# 进入mysql
./mysql -u root -p
可以用service mysql status 再次查看mysql启动状态
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';
设置允许远程登录
use mysql
update user set user.Host='%'where user.User='root';
flush privileges;
quit
重启服务器并且测试
systemctl restart mysql
service mysql restart
# 查看mysql是否启动
systemctl status mysql
在云服务器开放:3306端口
进入阿里云服务器控制台->安全组->管理规则,进行如下操作
这里我使用DataGrip进行连接测试
Jdk17安装部署
下载地址:https://www.oracle.com/java/technologies/downloads/
选择自己需要的jdk版本进行下载。
通过mac终端scp命令上传下载好的jdk17到服务器的/usr/local目录下
scp -r Downloads/jdk-17.0.13_linux-x64_bin.tar.gz 用户名@服务器ip地址:/usr/local
上传成功
进入到/usr/local目录下,解压jdk到对应目录
tar -zxvf jdk-17.0.13_linux-x64_bin.tar.gz -C /usr/local
移动jdk到java目录下
mv /usr/local/jdk-17.0.13 /usr/local/java
进入profile文件,对jdk设置全局变量
vi /etc/profile
添加
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
按下 esc 退出insert模式 再输入 :wq
生效配置文件
source /etc/profile
验证:
java -version
nginx安装:
wget http://nginx.org/download/nginx-1.27.2.tar.gz
安装所需库文件
#安装库文件yum install gcc-c++ -y
yum install -y pcre pcre-devel -y
yum install -y zlib zlib-devel -y
yum install -y openssl openssl-devel -y
创建目录
mkdir /usr/local/nginx
下载nginx1.27
wget http://nginx.org/download/nginx-1.27.2.tar.gz
解压到指定目录
tar -zxvf /tmp/nginx-1.27.2.tar.gz -C /usr/local/nginx
进行编译安装
cd /usr/local/nginx/nginx-1.27.2./configure --with-http_stub_status_module --with-http_ssl_modulemake && make install
创建软连接,让系统识别Nginx命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#检查文件是否正确
nginx -t
启动
nginx
常用命令
ps -ef | grep nginx # 查看
./nginx -s stop # 停止
./nginx -s reload # 重启
ps -ef | grep nginx
打开阿里云ecs控制台,点击安全组->管理规则->添加
打开80端口,然后在网页上输入自己服务器的公网ip就可以访问到nginx页面了
先将自己的vue工程进行打包
我是通过mac终端命令scp上传前端项目到服务器 命令如下
scp -r /opt/homebrew/opt/nginx/html/sky 云服务器用户名@ip地址:/usr/local/nginx/html/
简单修改一下配置文件(vi /usr/local/nginx/conf/nginx.conf)
配置好后重启nginx
cd /usr/local/nginx/sbin
./nginx -s reload
遇到问题,服务器重启后,nginx重新启动出现这个问题
nginx -s reload报错[alert] kill(189, 1) failed (3: No such process)
sudo nginx -c /usr/local/nginx/conf/nginx.conf
重新指定一下nginx的配置文件位置,重载一下,然后再执行
sudo nginx -s reload
在网页上输入自己服务器的公网ip就可以访问到nginx页面了