以下是个人精心整理的springboot+vue项目部署到干净环境的centos6 教程,希望对各位有所帮助!

一:下载虚拟机

下载一个破解版的虚拟机安装虚拟机二:安装centos6 64位系统    将下载好的系统安装到虚拟机上,设置登录账号和密码

二:配置虚拟机的静态ip

重点部分:设置服务器的固定ip(如果已完成这部分,请跳过!)
刚开始安装的服务器,默认是会动态分配ip的,就是说每次启动服务器系统会自动分配一个新的ip跟服务器,这样在正式环境是不允许的。因此要先跟虚拟机分配一样自定义的固定ip
[https://www.linuxidc.com/Linux/2018-08/153828.htm]) 这是教程,也可以参照我的下面的教程

  • 1:配置虚拟机虚拟网络编辑器:
  • springboot 将接口调为ipv6格式 springboot支持ipv6_mysql

  • 2:配置虚拟网络编辑器.

springboot 将接口调为ipv6格式 springboot支持ipv6_centos_02

-3:点击NAT设置,配置网关ip

springboot 将接口调为ipv6格式 springboot支持ipv6_java_03

  • 4:配置完成后Vmnet8虚拟机网卡详细信息

springboot 将接口调为ipv6格式 springboot支持ipv6_java_04

原理:这里配置的子网主要是根据同局域网的ip来确定,比如:我想我的项目在ip为10.20.227段的局域网内都可以访问我的项目,那么我要配置的虚拟机的ip也应该在同一个局域网(这时候应该保证你本机电脑的网络连接在10.40.227段内,即在同一个局域网内),,假设我的子网设置为10.22.223.0,而本机所处的局域网是10.40.227,会出现这样的情况:
	*   同局域网内的电脑可以Ping通你的本机电脑,但是无法ping通你的虚拟器服务器  
	* 你的本机电脑无法访问服务器上的项目接口

根本原因是你的虚拟机在10.22.223.0网段内,而你的本机电脑跟同局域网内的其他电脑的ip在10.40.227网段内,因此你的本机跟其他电脑都无法访问服务器
  • 5:修改网卡配置文件
[root@linuxidc ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
HWADDR=00:0c:29:02:4b:f5
TYPE=Ethernet
UUID=beff3b4a-ae43-4ae5-8e85-0c4e42ca3c2e
ONBOOT=yes
NM_CONTROLLED=yes
USERCTL=no
PEERDNS=yes
IPV6INIT=no
BOOTPROTO=static
IPADDR=10.40.227.134        #这里设置服务器ip地址,跟要访问的电脑在同一个网段内即可
NETMASK=255.255.255.0        #子网掩码一般为这个
    
GATEWAY=10.40.227.135      #这里填虚拟网络编辑器那里填写的网关的ip

#不同电脑里面的内容略有不同,其中最后4行,分配IP地址分配方式,IP地址,子网掩码,网关
#必不可少。原来的配置文件有的部分,覆盖掉改成上面的
#填写规则:
IPADDR=10.40.227.134        #这里设置服务器ip地址,跟要访问的电脑在同一个网段内即可
NETMASK=255.255.255.0        #子网掩码一般为这个
GATEWAY=10.40.227.135    #这里填虚拟网络编辑器那里填写的网关的ip
#如果配置完毕后仍不能访问互联网,可考虑添加DNS配置项(这里不是很懂)
  • 6:重启网卡检查效果
[root@linuxidc ~]# /etc/init.d/network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 192.168.56.11 is already in use for device eth0...
                                                        [  OK  ]

#查看ip地址
IP a(ip addr 、ifconfig )

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:02:4b:f5 brd ff:ff:ff:ff:ff:ff
    inet10.40.227.134/24 brd 192.168.56.255 scope global eth0
    inet6 fe80::20c:29ff:fe02:4bf5/64 scope link 
    valid_lft forever preferred_lft forever
	* 

 - #这里主要看eth0的ip是否变成你改的
 - #这时候你的Xshell可以正常连接虚拟机

三:在虚拟机上安装jdk8环境

1:安装JDK8

在usr目录下建立java安装目录

cd /usr

mkdir java

将jdk-8u60-linux-x64.tar.gz拷贝到java目录下

tar -zxvf jdk-8u60-linux-x64.tar.gz

得到文件夹 jdk1.8.0_60

编辑配置文件,配置环境变量
vim(vi) /etc/profile
添加如下内容:JAVA_HOME根据JDK实际目录来
用vim编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑):

export JAVA_HOME=/usr/java/jdk1.8.0_131
 export JRE_HOME=${JAVA_HOME}/jre
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
 export PATH=$PATH:${JAVA_PATH}

然后按ESC退出编辑,保存并退出(按 :wq!)

重启机器或执行命令 :
执行命令:source /etc/profile
重启:sudo shutdown -r now

测试JDK8是否安装成功
java -version

java version “1.8.0_60”

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)
#说明安装成功!

2:部署springboot项目到服务器并且测试

  • 在maven的pom里面安装一个插件
<build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <mainClass>com.example.demo.DemoApplication</mainClass>
                        <fork>true</fork>
                    </configuration>
                </plugin>
            </plugins>
        </build>
  • 使用maven打包命令打包
    只需要打开IDEA下面的Terminal,执行其中一个命令 :
    1 、mvn package clean -Dmaven.test.skip=true  #解释:把之前打过的包通通干掉。
    2、mvn package -Dmaven.test.skip=true #解释:打包
  • 打包成功后,在项目的target目录下会看到一个 (项目名.jar)的jar包(我的是target/zq-govern-0.0.1-SNAPSHOT.jar),注意先在window环境下册十四项目是否能正常启动(,切换到jar项目路径下,然后使用java -jar zq-govern-0.0.1-SNAPSHOT.jar启动),启动后访问一下使用localhost访问一下自己的接口,无误后将它上传到服务器上(使用xshell或者xtfp都可以)。
  • 我的jar包上传到了/usr/java目录下,跟jdk的目录一样,现在可以执行以下命令启动spirngboot项目了
cd /usr/java
 java -jar  zq-govern-0.0.1-SNAPSHOT.jar;

一样,接口测试:

  • 当cetons6 下有浏览器,可以使用localhost(或者centos6服务器ip)+端口号+接口测试访问 (这里如果报错,可能是因为接口是查询数据库的,这时候选择不查询数据库的接口就没问题,如果还报错,可能是JDK没安装成功(jdk安装包有遗漏什么的),建议删除JDK再重新安装)
  • centos6没有浏览器,则在本机window下测试 centos6服务器ip+端口号+接口测试,我的是10.40.227.134:端口号:/接口

如果报错,可能有以下原因:

  • 本机跟centos6服务器之间没有ping 通 。测试,在本机上使用ping 服务器ip测试,不能接受数据的话说明:服务器跟本机不在一个局域网内,这时候可以将本机连接网络到同一个网段,同时参照上面的教程修改服务器的ip地址
  • 防火墙(建议临时关闭防火墙或者开放端口)
  • systemctl status firewalld 查看防火墙状态
    #开启 #重启 #临时关闭 #永久关闭
    service firewalld start
    service firewalld restart
    service iptables stop
    chkconfig iptables off
    #开放端口(举例)
    firewall-cmd --permanent --add-port=80/tcp

四:重点: 安装mysql5.7

  • 上传并解压上传 mysql-5.6.12-linux-x64.tar.gz 到 /usr/local/mysql 目录,并执行以下命令
    cd /usr/local/mysql
    tar -xvzf mysql-5.6.12-linux-x64.tar.gz2 创建mysql用户和组
    groupadd mysql
    useradd -g mysql mysql3 授权
    chown -R mysql:mysql /usr/local/mysql
    chmod -R 777 /usr/local/mysql4 开始安装
    !!!忽略第一次错误,错误后重新执行上面的授权命令,再次执行安装命令
    #–datadir 是数据目录,可根据操作系统的硬盘分区按需修改
    ./scripts/mysql_install_db --datadir=/usr/local/mysql/data5 #再次授权
    #由于我们使用的是root用户进行安装,所以在初始化数据目录后,需要重新修改data目录的所有者为mysql
    #若上面的数据目录不是 /usr/local/mysql/data ,下面这里也要改
    chown -R mysql:mysql /usr/local/mysql/data
    chmod -R 777 /usr/local/mysql/data6 #创建服务启动脚本
    #复制一个启动脚本
    cp support-files/mysql.server /etc/init.d/mysqld

#编辑启动脚本
vi /etc/init.d/mysqld

#配置 basedir=/usr/local/mysql
#配置 datadir=/usr/local/mysql/data7 脚本授权
chmod 755 /etc/init.d/mysqld8 配置
cp support-files/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
#参考下面说明,修改相关选项
#安装目录
basedir=/usr/local/mysql
#数据目录
datadir=/usr/local/mysql/data
#默认连接端口,默认端口为3306,修改默认端口可进一步提高数据库的安全性
port=3306
#操作用户
user=mysql
#允许外部访问,即允许外部IP访问数据库,0.0.0.0即表示运行任何外部ip访问
bind-address=0.0.0.0

#忽略大小写(默认情况下MySQL是区分大小写的)
lower_case_table_names=1

#增大连接等待时间(单位是秒),默认情况下,一旦超过8小时没有活跃连接,应用程序如果再访问数据库会产生错误,因此需要增大MySQL的等待时间
wait_timeout=31536000

#group_concat的最大拼接字节数
group_concat_max_len=10240009 配置环境变量
将MYSQL_HOME添加到环境变量中
#vi打开文件
vi /etc/profile
#在文件末尾加入以下内容,可通过 shift+G 快速跳转到文件末尾
export MYSQL_HOME=/usr/local/mysql
export PATH=springboot 将接口调为ipv6格式 springboot支持ipv6_centos_05MYSQL_HOME/bin:$PATH
#上述编辑保存完毕后,执行以下命令使环境变量生效
source /etc/profile10 启动服务
service mysqld start11 开机启动
chkconfig mysqld on12 修改root密码(注意!!!数据库的账号跟密码要对应你的jar项目中数据库配置一致)
#默认密码为空,不输入,直接回车即可
mysql -uroot -p
#修改密码
update mysql.user set password=PASSWORD(‘12345’) where user=‘root’;
#授权远程登录
grant all privileges on . to ‘root’@’%’ identified by ‘12345’;
#刷新权限
flush privileges;
#退出命令行
quit;
#使用账号密码登陆
mysql -uroot -p12345
#查询数据库
mysqsl> show databases;
#创建一个名为zqzf的数据库
mysql> create batabase zqzf;
#将sql文件执行
首先将本机电脑的test.sql文件上传到usr/local/mysql目录下
然后
cd /usr/local/mysql
source test.sql
#测试数据是否导入
mysql> use zqzf;
mysql>select count(1) from t_young_hd;
能访问到数据说明数据导入成功!

安装成功后
在本机使用服务器ip+端口号+接口访问需要数据库查询的接口,看能不能成功。

五:安装nginx,部署前端到服务器,实现地址+端口号访问前端首页

以上步骤完成后,后台算是完成部署到服务器上了。接下来是把vue项目上传到服务器

  • 首先将vue项目里面请求的路径改成是服务器接口路径,然后再打包
    我是将api目录下的http.js里面的baseurl改成10.40.227.134, 打包后的目录

springboot 将接口调为ipv6格式 springboot支持ipv6_java_06

将前端项目上传到/usr/java目录下

重点,安装nginx,实现静态资源的映射,目的是让我可以使用10.40.227.134:8090直接访问前端首页
  • Nginx 需要的安装环境

如果有yum就不需要安装yum云,没有就参照下面的教程

创建本地yum源(如果可以连通网络,也可以配置网络yum源)

1、创建/mnt/iso目录,把ISO镜像文件拉进目录(选择一个有yum源的ISO文件,我的是es6-pkg.iso)
[root@localhost ~]# mkdir /mnt/iso
2、创建/mnt/cdrom目录,挂载镜像到/mnt/cdrom目录下
[root@localhost mnt]# mkdir /mnt/cdrom
[[root@localhost iso]# mount -o loop /mnt/iso/es6-pkg.iso /mnt/cdrom
3、查看挂载情况
[root@localhost iso]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 13G 3.9G 77% /
tmpfs 1.9G 72K 1.9G 1% /dev/shm
/dev/sda1 283M 41M 228M 16% /boot
/mnt/iso/es6-pkg.iso 5.6G 5.6G 0 100% /mnt/cdrom
4、修改yum源配置文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim local.repo
[local]
#仓库名称
#仓库描述
name=local
#yum源目录
baseurl=file:///mnt/cdrom
#是否启用该yum源,0为禁用
enabled=1
#检查GPG-KEY,0为不检查,1为检查
gpgcheck=0
5、删除/etc/yum.repos.d/目录下所有其他文件
rm
6、清除原有记录
yum clean all
7、获取新的yum缓存
yum makecache
yum源安装完毕!

  • 1.Nginx运行环境准备
yum install gcc-c++
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
  • 2:Nginx 的安装

将nginx-1.12.2.tar.gz上传到/usr/local目录下
解压Nginx
tar -zxvf nginx-1.12.2.tar.gz

使用configure命令创建一makeFile文件
    ./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi

    分别使用命令make和make install进行编译
    
    #启动Nginx

    cd /usr/local/nginx/sbin      #切换到sbin目录下
        ./nginx       #启动nginx
    ./nginx -s stop   #启动nginx

    ./nginx -s restart   #重启nginx
  • 可能出现的问题跟解决方案


springboot 将接口调为ipv6格式 springboot支持ipv6_java_07


这种情况是nginx默认的80端口被占用,在配置文件nginx.conf修改端口即可
cd /usr/local/nginx/conf
vi nginx.conf

server{
    listen    8090
    server_name         localhost
}

修改后按ESC ,然后保存并推出(:wq!)
重启nginx ./nginx -s reload

  • 测试nginx8090 本机电脑或者同局域网电脑10.40.227.134:8090

springboot 将接口调为ipv6格式 springboot支持ipv6_数据库_08



接下来就是修改一下nginx的配置文件,这里我直接搬上来(nginx.conf)

server {
        listen       8090;
        server_name  localhost;
        
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
            root /usr/java/dist;  #vue项目打包后的dist

    location / {
        #需要指向下面的@router,否则会出现vue的路由在nginx中刷新出现404
        try_files $uri $uri/ @router;                    
        index index.html;
    }
       #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
    location @router {           
      #因此需要rewrite到index.html中,然后交给路由再处理请求资源
        rewrite ^.*$ /index.html last;                   
    }

这是需要修改的部分,在nginx.conf文件里面添加上述配置即可
重启nginx ./nginx -s reload

因为前端项目已经上传服务器,所以可以直接访问了

最终测试

在本机跟别的同局域网的电脑上输入:10.40.227.134:8090
出现正常页面,部署成功!