1、安装jdk
第一步:上传jdk压缩安装包到服务器
第二步:将压缩安装包解压
tar -xvf jdk-8uXXX-linux-x64.tar.gz
第三步:配置环境变量
编辑/etc/profile文件,在文件末尾添加以下内容:
export JAVA_HOME=/path/to/jdk //JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
第四步:应用环境变量
执行以下命令使配置生效:
source /etc/profile
第五步:验证安装:
执行以下命令检查JDK版本:
java -version
使用yum命令一步安装jdk
yum install java-1.8.0-openjdk-devel
2、安装tomcat
第一步:上传tomcat压缩安装包到服务器
第二步:将压缩安装包解压
tar -xvf apache-tomcat-xxx.tar.gz
第三步:进入conf/server.xml修改端口号8080为80(可忽略)
第四步:进入bin目录启动tomcat:./startup.sh
第五步:验证Tomcat是否启动: 浏览器中输入服务器IP和端口(默认为8080),看是否能够看到Tomcat的默认页面。
关闭tomcat:./shutdown.sh
3、安装redis
第一步:上传redis压缩安装包到服务器
第二步:将压缩安装包解压
tar -xvf redis-xxx.tar.gz
第三步:进入安装包,编译redis:make
cd redis-5.0.4
make
第四步:安装redis: make install
make install
第五步:根据需要修改redis的配置文件,redis.conf 下面是对配置文件中关键参数的说明
①bind: 127.0.0.1(注释掉):bind指令用于设置Redis服务器监听的IP地址。当bind被设置为
127.0.0.1时,意味着Redis服务器只监听来自本机(localhost)的连接请求。如果希望Redis监听特定的网络接口,你可以指定该接口的IP地址。另外,如果你希望Redis接受来自任何IP地址的连接(不推荐,除非有额外的安全措施),你可以将bind设置为0.0.0.0或者注释掉这一行。
②protected-mode yes(设置为no):用于设置Redis实例的保护模式。这个设置主要用于保护Redis服务器免受未授权访问的影响。
当protected-mode设置为yes(默认情况)时,Redis只会接受来自本地回环地址(localhost)和Unix域套接字的连接请求。这意味着只有运行在同一台机器上的客户端才能访问Redis实例,外部网络无法直接连接。这增加了Redis服务器的安全性,防止了潜在的远程攻击。
然而,如果你需要将Redis实例暴露给网络上的其他设备或服务器进行访问,你需要将protected-mode设置为no。这样,Redis就会接受来自任何IP地址的连接请求。但请注意,这样做会降低Redis的安全性,因为它允许任何能够访问你的Redis服务器的设备或服务器进行连接。
③port 6379:port指令用于设置Redis服务器监听的端口号。port 6379表示Redis服务器将监听TCP端口6379上的连接请求
④daemonize no(设置为yes):用来指定Redis服务是否应该以守护进程(daemon)的方式在后台运行。
如果设置daemonize no(或该选项不存在/被注释掉)(默认),Redis将会在前台运行,并且它的输出会直接显示在启动它的终端上。在这种模式下,如果终端关闭或会话断开,Redis服务也会终止。
当设置daemonize yes时,Redis会在启动后成为后台服务,它会在系统后台运行,并且释放启动它的终端,使得终端可以继续接受其他命令或关闭。Redis的日志信息和其他输出通常会被重定向到指定的日志文件中,而不是直接显示在启动它的终端上。
⑤#requirepass foobared:用于设置访问Redis服务所需的密码。当设置了requirepass之后,任何客户端在连接到Redis服务器并执行命令之前,都需要提供正确的密码进行身份验证。redis.conf配置默认没有密码,可以自己通过这个设置密码。(一定要设置,不然部署到服务器上存在风险)
第六步:启动redis:redis-server redis.conf
redis-server redis.conf
或者
Linux环境下redis使用进入|退出redis客户端
redis-cli -p 6379 #进入redis
exit #退出
redis-cli #如果是默认端口号6379,可省略
关闭redis
redis-cli [-p 端口号] shutdown
#当redis的端口号是默认端口号时,可以省略参数-p 端口号
查看redis与当前ip是否相连
redis-cli info 查看redis连接数
redis-cli -h 62.234.175.16 -p 6379 -a Zjx19991126 ping
想要启动后的redis正确被客户端连接,除了linux上能正常启动redis以外,还需要开放服务器上的redis端口号(6379)和防火墙开放redis端口(6379)
4、安装mysql
第一步:查看mysql是否安装:rpm -qa|grep 安装包名
rpm -qa|grep mysql
如果已安装,可执行执行命令rpm -e --nodeps 包名来删除软件包
第二步:去mysql官网下载repo源
centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装;
mysql官网下载链接:mysql repo下载地址 如下
第三步:执行命令rpm -ivh 包名安装rpm源(根据下载的rpm源自行选择)
#CentOS7 安装mysql8
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
查看mysql yum仓库中mysql版本,使用如下命令
yum repolist all | grep mysql
可以看到 MySQL 5.7为禁用状态 而MySQL 8.0为启用状态;
使用 yum-config-manager 命令修改相应的版本为启用状态最新版本为禁用状态(自行选择)
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
第四步:执行命令yum -y install mysql-community-server安装mysql服务
#安装mysql服务
yum install mysql-community-server
#查看mysql版本
mysql -V
第五步:启动MySQL
#查看mysql运行状态
systemctl status mysqld.service
#启动mysql
systemctl start mysqld
#停止mysql
systemctl stop mysqld
#重启mysql
systemctl restart mysqld
执行命令systemctl enable mysqld开启MySQL开机自启动
#开启mysql开机自启动
systemctl enable mysqld
#关闭mysql开机自启动
systemctl disable mysqld
第六步:设置mysql密码
①获取临时密码
//获取MySQL临时密码
grep 'temporary password' /var/log/mysqld.log
②执行命令mysql -uroot -p登录MySQL(密码是上面获取的临时密码)
//登录mysql
mysql -uroot -p
③用临时密码登录后执行下方命令设置MySQL永久密码
show variables like 'validate_password.%';
//根据下图中的密码策略设置mysql数据库密码(你不设置密码就无法进行其它操作)
alter user 'root'@'localhost' identified by 'Zjx123456#';
你的密码不符合默认密码策略的话是无法设置成功的,mysql8默认密码策略如下图(最小8位,至少含义一个数字,至少含义一个特殊字符)
执行下方命令修改密码策略
只能临时修改密码策略,重启MySQL后自动恢复默认密码策略,想要永久修改需要改MySQL配置文件,一般来说临时修改密码策略就够了,又不天天改密码
//设置密码长度
set global validate_password.length = 6;
//设置密码风险等级(等级越高要求密码越复杂),分为0、1、2级
set global validate_password.policy = 0;
//查询密码策略
show variables like 'validate_password.%';
//设置mysql数据库密码 (这里是密码)
alter user 'root'@'localhost' identified by 'Zjx123456#';
第七步:允许外部访问该MySQL数据库
//创建用户
(远程连接用的账号) (远程连接用的密码)
create user 'root'@'%' identified by 'mypassword';
//mysql8.0版本
//create user 'root'@'%' identified with mysql_native_password by 'Zjx123456#';
//分配权限,运行远程连接
(允许root账号远程连接)
grant all privileges on *.* to 'root'@'%' with grant option;
//刷新权限
flush privileges;
远程连接数据库,如果远程连接不上,考虑防火墙是否开放了mysql端口(3306)和服务器上的mysq端口号(3306)
在使用 Navicat for Mysql连接mysql 8.0时会报如下错误:
Authentication plugin 'caching_sha2_password' cannot be loaded:
mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式;
我们可可以查看mysql 数据库中user表的 plugin字段;
use mysql;
select host,user,plugin from user;
可以使用命令将他修改成mysql_native_password加密模式:
update user set plugin='mysql_native_password' where user='root';
//或者创建user时直接指定加密模式
create user 'root'@'%' identified with mysql_native_password by 'Zjx123456#';
5、安装nginx
1) nginx安装
第一步:上传nginx压缩包到指定目录。
第二步:解压nginx压缩包。
第三步:配置编译nginx
- 配置编译方法:
./configure
- 配置编译后结果信息:
第四步:编译nginx
- 在nginx源文件目录中直接运行make命令
第五步:安装nginx:
- 在运行make命令的nginx目录中运行make install命令
- 安装后可以运行whereis nginx命令查找nginx工作目录
2) 配置nginx
配置文件位于conf/nginx.conf
#nginx的每一个代理都是一个server结构,其具体结构如下:
server {
listen 80; #监听端口号
server_name localhost; #监听服务器名
location / { #文件代理
root html; #本地文件目录
proxy_pass http://127.0.0.1:8080/; #域名代理,真实的url
index index.html index.htm; #成功访问的页面
}
}
3) Linux下使用nginx
进入nginx/sbin目录中执行如下命令:
- 启动:./nginx
- 重启:./nginx -s reload
- 关闭:./nginx -s stop
6、项目部署(springboot项目)
1、安装上述软件,并开启
2、前端项目打包:npm run build:prod--->dist
3、后端项目打包:install--->xxx.jar
4、开放需要的端口号:比如我的后端项目端口号为8282,则需要防火墙和服务器同时开发8282端口
5、将dist上传到nginx/html文件夹,有两种办法:
①将dist里面的文件覆盖掉html里面的所有文件
②将dist整个上传到html文件夹下
6、将jar文件上传到服务器任意文件夹下
7、配置nginx文件
①可以直接在nginx/conf/nginx.conf文件中配置
server{
listen 80;
server_name localhost;
location / {
root /usr/local/nginx/html;
index index.html;
}
location /prod-api/ {
proxy_pass http://62.234.175.16:8282/;
}
}
②引入外部配置文件,例如添加配置文件夹和配置文件在nginx/conf/conf.d/conf.conf
nginx.conf文件添加以下字段并注释掉相关其它字段:
include /usr/local/nginx/conf/conf.d/*.conf;
conf.conf文件编辑如下
server{
listen 80;
server_name localhost;
location / {
root /usr/local/nginx/html/dist;
index index.html;
}
location /prod-api/ {
proxy_pass http://62.234.175.16:8282/;
}
}
8、启动前端:进入nginx/sbin目录,执行命令:./nginx -s reload
9、启动后端:进入存放jar文件的目录,执行命令
java -jar XXX.jar 前台启动
nohup java -jar xxx.jar 后台启动
至此,项目部署完成
7、项目部署(SSM项目)
将所有项目打包
将jar包和war包放到tomcat目录的webapps目录下
启动tomcat
win: 进入tomcat目录的bin目录下,双击startup.bat
linux:进入tomcat的bin目录执行命令:./startup.sh
访问:地址栏输入http://ip地址:tomcat端口号/访问即可,如:http://localhost:8080/song/list
注意:需要在tomcat目录的conf目录的server.xml添加以下配置,不然静态资源访问不到,因为在生成的过程中改变了静态资源的位置
<Service name="Catalina1">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/" docBase="hami-portal-1.0-SNAPSHOT" reloadable="true"></Context>
</Host>
</Engine>
</Service>