项目部署总结

发布于:2024-04-29 ⋅ 阅读:(20) ⋅ 点赞:(0)

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 &quot;%r&quot; %s %b" />
        <Context path="/" docBase="hami-portal-1.0-SNAPSHOT" reloadable="true"></Context>
      </Host>
    </Engine>
  </Service>


网站公告

今日签到

点亮在社区的每一天
去签到