以下是个人精心整理的springboot+vue项目部署到干净环境的centos6 教程,希望对各位有所帮助!
下载一个破解版的虚拟机安装虚拟机二:安装centos6 64位系统 将下载好的系统安装到虚拟机上,设置登录账号和密码
重点部分:设置服务器的固定ip(如果已完成这部分,请跳过!)
刚开始安装的服务器,默认是会动态分配ip的,就是说每次启动服务器系统会自动分配一个新的ip跟服务器,这样在正式环境是不允许的。因此要先跟虚拟机分配一样自定义的固定ip
[https://www.linuxidc.com/Linux/2018-08/153828.htm]) 这是教程,也可以参照我的下面的教程
原理:这里配置的子网主要是根据同局域网的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网段内,因此你的本机跟其他电脑都无法访问服务器
[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配置项(这里不是很懂)
[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可以正常连接虚拟机
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项目到服务器并且测试
<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
#编辑启动脚本
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= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:MYSQL_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+端口号+接口访问需要数据库查询的接口,看能不能成功。
以上步骤完成后,后台算是完成部署到服务器上了。接下来是把vue项目上传到服务器
将前端项目上传到/usr/java目录下
如果有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
server{
listen 8090
server_name localhost
}
修改后按ESC ,然后保存并推出(:wq!)
重启nginx ./nginx -s reload
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
出现正常页面,部署成功!