0


搭建测试环境(Linux、mysql、jdk、tomcat、nginx、redis、maven)

本文讲解如何在Linux CentOS下部署Java Web项目的步骤

环境准备

(1)Linux系统

(2)JDK(java的运行环境,不装jdk你的电脑识别不了java代码)

(3)Tomcat (web应用服务器,可以让代码运行起来)

(4)MySQL(数据库,存储你软件的数据)

(5)Redis(缓存数据库)

(6)Nginx(反向代理服务器,反向代理、负载均衡、动静分离)

(7)Maven(项目管理工具,管理依赖、构建项目,打war包)

(8)把开发给的代码包,上传到Tomcat下,运行

一、Linux系统

本文主要是Linux CentOS7为例,vmware安装centos镜像步骤见下方链接

vmware安装centos镜像_vm安装centos镜像_努力学写脚本的八宝糖的博客-CSDN博客

二、JDK下载安装
1.去官网下载Linux版本的JDK,这里以JDK1.8为例

下载地址:

Java Downloads | Oracle


2.将安装包存放到Linux的目录下
在window/Mac的终端通过scp命令上传:scp -r 本机安装包路径 虚拟机登陆账号@虚拟机IP:虚拟机中安装包存放路径(也可以利用xftp上传)
3.上传完之后,执行:tar -zxvf jdk-8u131-linux-x64.tar.gz命令即可自动解压,解压之后会有一个JDK目录
4.安装好JDK后需要配置环境变量
进入到/etc目录,进入编辑模式vi profile
在文本末尾添加以下配置项
JAVA_HOME=/root/jdk1.8.0_11/(实际解压文件的路径)
CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
注意JAVA_HOME的路径是你 jdk实际安装在Linux里面的目录
编辑完后,按ESC退出编辑模式,输入:wq,保存退出
5.退出之后重启配置项,输入命令:source /etc/profile
这个时候可以查看JDK版本,输入java -version

到此JDK安装结束

三、下载安装Tomcat
1.在官网下载安装包:https://tomcat.apache.org/


2.上传tomcat安装包,同样利用scp命令上传完成后,执行tar -zxvf apache-tomcat-8.5.41.tar.gz命令即可自动解压,解压完成后会有一个tomcat目录,进入tomcat的bin目录
3.然后输入命令./startup.sh重启服务
4.配置防火墙

注意:centos7默认的防火墙是firewalld,如果想要安装iptables,步骤如下:

4-1.编辑防火墙配置
vi /etc/sysconfig/iptables
4-2.添加8080端口的防火墙,允许访问.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
将这句增加8080端口,添加至防火墙配置文件iptables中。
注意!非常关键:端口的配置必须要在如下配置的上方,放在下方无效.

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

保存并退出.
4-3.重启防火墙:service iptables restart
4-4.在本地浏览器访问tomcat:http://linuxIP:8080

四、MySQL下载安装(通过yum来进行mysql的数据库安装)
卸载掉原有mysql
查询电脑有没有安装mysql: rpm -qa | grep mysql
有的话,我们就通过rpm -e --nodeps 命令来卸载掉
rpm -e --nodeps 数据库文件名
在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!没有出现结果即代表完全卸载成功

1.下载安装yum源
1-1.下载yum源:去mysql官网下载:https://www.mysql.com/downloads/


1-2.下载完复制到Linux主机上:scp -r /Users/bbt/Desktop/mysql80-community-release-el7-7.noarch.rpm root@192.168.220.160:/root (此命令在主机Mac或Window上输入)
1-3.安装yum: yum install mysql80-community-release-el7-7.noarch.rpm(自己的mysql文件)
1-4.检查是否安装成功:yum repolist enabled | grep mysql 或者 yum repolist enabled | grep "mysql.-community."(若打印几个mysql版本,说明rpm安装成功)
2.安装mysql服务和启动服务
2-1.安装命令:yum install mysql-community-server(就用这个,无需替换任何)
2-2.安装后,启动服务:systemctl start mysqld
2-3.查看服务状态:systemctl status mysqld

2-4.再将MySQL服务设置为开机自启动:chkconfig mysqld on
2-5.查询设置启动情况:systemctl list-unit-files
2-6.mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码 所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号)
sudo grep 'temporary password' /var/log/mysql.log //通过该命令查看初始密码
mysql -uroot -p //启动mysql数据库 先用初始密码登录(此命令后没有分号)
ALTER USER ‘root'@'localhost'IDENTIFIED BY 'Root123!'; // 通过该命令给root账号设置密码为Root123!(这个密码可能会有复杂度校验,另外,最后的分号必须写!!!)

详情请参考官方文档 :

此时我们就可以通过 mysql -u root -p 命令用新密码来登录我们的mysql数据库了
2-7.接下来,把mysql设置为可以进行外部连接(特别注意语句后面分号必须写!!!):
mysql -u root -p //启动mysql数据库(此命令后没有分号)
mysql>use mysql; //切换至mysql数据库
mysql>update user set host = '%' where user = 'root';
//修改localhost为%(所有的意思)(如果出现错误,不用管它,直接进行下一步)
mysql>flush privileges; //刷新数据库权限
exit; //退出mysql
2-8.接下来编辑防火墙配置:
Mysql的默认端口为3306,所以需将mysql默认端口增加至防火墙内
vi /etc/sysconfig/iptables
添加3306端口的防火墙,允许访问.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
将这句增加3306端口,添加至防火墙配置文件iptables中。
注意!非常关键:端口的配置必须要在如下配置的上方,放在下方无效.

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

保存并退出.

2-9.重启防火墙:service iptables restart
如:使用root密码再次登录mysql时登录不上,可执行以下操作:
一般出现这种情况时因为mysql的经典BUG,自动删除名为mysql的数据库而导致的。
先执行service mysqld stop 停止mysql服务
然后执行 mysqld_safe --skip-grant-tables #重新配置mysql数据库
再启动mysql:service mysqld start
就能登录进去了。

五、Redis下载安装
1.去官网:https://redis.io/download/ 下载获得redis-7.0.0.tar.gz后将它放入Linux目录/opt


2./opt目录下解压redis
tar - zxvf redis-7.0.0.tar.gz
3.进入目录:cd redis-7.0.0
4.在redis-7.0.0目录下执行make命令
make && make install (编译和安装),安装成功会显示:It is a good idea to run 'make test';

安装时可能会遇到如下报错:

报错1:

which: no python3 in (/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/huan/.local/bin:/home/huan/bin)

解决方式:

Linux安装redis过程,可能需要安装python3环境_努力学写脚本的八宝糖的博客-CSDN博客

报错2:致命错误:jemalloc/jemalloc.h:没有那个文件或目录

解决方式:在redis目录下执行:make MALLOC=libc
5.查看默认安装目录:usr/local/bin
6.将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myredis
mkdir /myredis
cp redis.conf /myredis/redis7.conf
7.修改/myredis目录下redis7.conf配置文件做初始化设置

8.启动服务
redis-server /myredis/redis7.conf 启动服务
ps -ef|grep redis|grep -v grep 查看后台服务是否成功启动
9.连接服务
redis-cli -a 111111 -p 6379
10.在客户端输入ping,如果输出pong,就说明redis服务安装成功,可以正常使用。

六、Nginx安装与配置
1.在官网:https://nginx.org/en/download.html下载nginx-1.22.1.tar.gz后将它放入Linux系统(scp命令)


2.解压nginx安装包
tar - zxvf nginx-1.22.1.tar.gz
3.进入目录:cd nginx-1.22.1
4.编译安装与依赖检查
./configure --prefix=/usr/local/nginx (表示装在哪个目录下)
若出现如下警告或报错:


则安装gcc:yum install -y gcc
装完之后继续编译nginx:./configure --prefix=/usr/local/nginx
若出现如下警告或提示:

则安装perl库:yum install -y pcre pcre-devel
重新执行命令:./configure --prefix=/usr/local/nginx
若出现如下警告或提示:


则安装zlib库:yum install -y zilb zlib-devel
重新执行命令:./configure --prefix=/usr/local/nginx
5.直到不报错,接下来执行:make && make install
Nginx启停(nginx停止启停时可能会遇到的问题:nginx服务停止或重启时报错:open() “/usr/local/nginx/logs/nginx.pid“ failed (2: No such file or directory)的解决办法_努力学写脚本的八宝糖的博客-CSDN博客
6.进入安装好的目录 /usr/local/nginx/sbin (sbin目录下有可执行文件nginx)
./nginx 启动
其他相关命令: ./nginx -s stop 快速停止
./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置
在浏览器中访问服务器的IP,如果能访问说明启动成功,如果不能访问,说明启动失败;启动失败的原因可能是因为防火墙干扰。
7.关闭防火墙:systemctl stop firewalld.service
刷新浏览器,访问成功。(可能会遇到服务启动成功,但浏览器无法访问的问题,解决方案:Nginx启动成功,但浏览器却不能访问的解决办法。_努力学写脚本的八宝糖的博客-CSDN博客

​七、maven安装与配置(本文以v3.5.4为例)
1.下载maven安装包:https://maven.apache.org/download.cgi


2.在终端输入命令:mvn -v (查看maven的版本)
3.配置maven环境变量
编辑maven的配置文件:vim .bash_profile 把下面的内容加到配置文件里

#maven
export MAVEN_HOME=/Users/bbt/DevelopEnvironment/apache-maven-3.5.4(这个路径是系统上maven的安装路径)
export PATH=${MAVEN_HOME}/bin:$PATH:.

4.验证配置文件修改是否生效:source ~/.bash_profile
5.查看maven版本:mvn -v
显示如下即为成功

6.在maven安装包中创建一个repository文件夹(用于存放架包)

7.在配置文件setting.xml(conf目录下,可以以记事本文件打开)中修改镜像

    <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
    </mirror>

改好了要保存一下,然后关闭。

或者直接替换成项目里的配置文件(因为第二次打包的时候失败了,干脆就直接用项目里的了)

8.切换到项目的主目录路径下,执行打包命令

mvn clean package -Dmaven.test.skip=true

war包打包成功。(后端的包)

八、直接上传自己的war包到tomcat的webapps目录下就可以了(linux服务器),只要你的tomcat是打开的,这时候会自动解压war包成一个文件夹,如果war不需要再配置其他内容(如数据库地址,一些本地认证等),就直接在浏览器上访问ip:8080/war的名字(例如你的程序名叫recycle.war,服务器ip为:192.168.1.2,那么就访问:192.168.1.2:8080/recycle)。

如果需要配置数据库等信息,在公司里一般都会提供给你部署文档,根据部署文档进行操作。

例如:

前端的包放在nginx配置文件location指定的路径下 。

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

server {

            listen  80;
            server_name 192.168.220.161;

         #  location /re/a.html {
         #      alias /project/recycle/a.html;
         #  }
            location /recycle {
               proxy_pass http://127.0.0.1:8080;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection "upgrade";
        }
            location / {
              root /project/recycle/front/dist/;
              index index.html index.htm;
              try_files $uri $uri/ /index.html;
            }
    }
}

修改完配置文件执行“nginx -t”命令测试配置文件修改后的语法是否正确(如果有问题会报错)。

使用命令“nginx -s reload”命令重启让配置文件生效。

reload命令会重新加载配置文件,nginx服务不会中断。
如图服务正常重启,监听端口已经修改为8080。

在tomcat目录下查看日志:tail -200f logs/catalina.out

标签: mysql linux 服务器

本文转载自: https://blog.csdn.net/qq_41908061/article/details/130282429
版权归原作者 努力学写脚本的八宝糖 所有, 如有侵权,请联系我们删除。

“搭建测试环境(Linux、mysql、jdk、tomcat、nginx、redis、maven)”的评论:

还没有评论