系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)

一、安装JDK(Java解析器)

JDK简介

JDK全称Java SE Development kit(JDK),即java标准版开发包,是Oracle提供的一套用于开发java应用程序的开发包,它提供编译,运行java程序所需要的各种工具和资源,包括java编译器,java运行时环境,以及常用的java类库等。

1.安装gcc

# yum -y install gcc

2.上传JDK软件包并解压

上传至/usr/local目录下

# tar -zxvf jdk-8u202-linux-x64.tar.gz

3.配置JDK的环境变量

# vim /etc/profile

#JDK

export JAVA_HOME=/usr/local/jdk

export JAVA_BIN=/usr/local/jdk/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

     # source /etc/profile

4.查看JDK是否安装成功

# java -version


出现以上信息证明JDK安装成功。

二、安装Tomcat

Tomcat优势及特点

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第1张图片


Tomcat服务器是一个免费的开放源代码的Web应用服务器,技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可。其运行时占用的系统资源小,扩展性好,且支持负载平衡与邮件服务等开发应用系统常用的功能。作为一个小型的轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,因此也成为目前比较流行的Web应用服务器。

Tomcat Server的结构图

1.上传、解压到指定目录下

上传至/mnt/usr目录下

tar -zxvf apache-tomcat-8.5.34.tar.gz

2.配置Tomcat环境变量

#vim /etc/profile

#tomcat

export TOMCAT_HOME=/usr/local/tomcat

export PATH=$PATH:$TOMCAT_HOME/bin

#source /etc/profile    #使配置文件生效

3.为Tomcat的执行脚本赋予执行权限

# chmod +x /mnt/usr/ tomcat8_5_34/bin/*

4.启动Tomcat

# /mnt/usr/ tomcat8_5_34/bin/startup.sh

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第2张图片


# netstat -antp    查看端口,tomcat是否启动

8080端口已监听,证明启动成功。

5.查看tomcat是否安装成功

访问X.X.X.X:8080 地址

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第3张图片


出现以下图片证明安装成功。

三、安装MYSQL

MySQL简介与优势


数据库(database)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效地组织和管理存储在数据库中的数据。MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。MySQL是一款免费软件。任何人都可以从MySQL的官方网站下载该软件。MySQL是一个真正的多用户、多线程SQL数据库服务器。它是以客户机/服务器结构实现的,由一个服务器守护程序mysqld以及很多不同的客户程序和库组成。它能够快捷、有效和安全地处理大量的数据。相对于Oracle等数据库来说,MySQL的使用非常简单。MySQL主要目标是快速、便捷和易用。

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第4张图片

MySQL原理图

1.解压mysql

上传压缩包至/usr/local

tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

2.重命名

mv mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz mysql

3.创建data目录

mkdir /usr/local/mysql/data

4.创建用户组与用户

groupadd mysql

useradd -r -g mysql mysql

5.为MySQL指定用户与用户组

chown -R mysql:mysql /usr/local/mysql

6.修改配置文件

为方便管理,在/usr/local/mysql/下创建配置文件。

将已配置好的my.cnf文件上传至/usr/local/mysql

7.初始化

./bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --log-error=/usr/local/mysql/logs/error.log --initialize-insecure

如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过

 yum install libaio

8.查看初始密码

cat /usr/local/mysql/data/mysqld.log

记录mysql初始密码,初次登录需使用该密码。

9.把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

10.启动mysql

service mysql start

启动mysql服务

11.进入mysql并修改密码

cd /usr/local/mysql

./bin/mysql -uroot -p

mysql> set password=password('root');

12.修改远程访问权限

mysql> use mysql;

mysql>select host,user from user;

mysql> update user set host='%' where user = 'root';

mysql> flush privileges;

mysql>select host,user from user;

重启MySQL生效

service mysql restart

使用Navicat或SQLyog等工具对mysql进行远程连接,连接成功,证明远程访问权限设置成功。

13.以上操作在172.16.101.40和172.16.101.41两个服务器中都执行一遍

14.开启mysql主从复制


1.在mysql配置文件中开启二进制日志

开启二进制日志是进行主从复制的必要条件。

2.在主服务器40中进行授权

mysql>grant repilication slave on *.* to [email protected] 

mysql>show master status;

记录文件名与文件大小。

3.进入从服务器41

mysql>change master to master_user=’repl_user’,master_password='repl_user123456',master_host=’172.16.101.40’,master_log_file=’mysql-bin.000009’,master_log_pos=4946305;

之后在从服务器会产生授权信息文件

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第5张图片

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第6张图片


  cat /usr/local/mysql/data/master.info  #查看文件内容

文件中会记录主从复制的相关信息,例如日志文件,主服务器IP,授权用户,密码等。

4.在172.16.101.41中开启从服务器

mysql>start slave;

#开启从服务器

5.查看从服务器内容

show slave status\G;

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第7张图片

Slave_IO_Running和Slave_SQL_Running都为yes证明该步骤没有问题,可进行下一步操作。

6.测试

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第8张图片

为证明主从复制配置成功,在主服务器中创建数据库aa。

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第9张图片

从服务器中也出现数据库aa,证明主从复制配置成功。

四、安装Nginx

Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第10张图片


Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等优势,并且依靠并发能力强,丰富的模块库以及友好灵活的配置而闻名。在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。

Nginx原理图

1.安装依赖包

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.解压安装包、配置、编译

tar -zxvf nginx-1.9.9.tar.gz

cd /mnt/usr/nginx-1.9.9

./configure

make

make install

3.启动Nginx

/mnt/usr/nginx/sbin/nginx -s reload或

cd /mnt/usr/nginx/sbin

./nginx

如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed

则运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再次启动即可!

4.查看nginx进程是否启动

ps -ef | grep nginx


5.查看是否安装成功

浏览器中访问服务器IP

显示以下界面证明安装成功

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第11张图片

6.常用命令

cd /usr/local/nginx/sbin

./nginx 启动

./nginx -s stop 关闭

./nginx -s reload 重启

7.重启服务

# pkill -HUP nginx

五、安装Redis

Redis简介

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

Redis支持数据的备份,即master-slave模式的数据备份。

Redis的优势

性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

高性能:

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第12张图片


假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据即可!

高并发:

直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。

系统部署实战(JDK+Tomcat+MySQL+Nginx+Redis)_第13张图片

将压缩包上传至/mnt/usr/redis下

  1. 编译安装

tar -zxvf redis-3.2.1.tar.gz

cd redis-3.2.1

make

make PREFIX=/mnt/usr/redis/redis-3.2.1 install #指定安装位置

2.复制Redis的配置文件

cp ./redis.conf /mnt/usr/redis/redis-3.2.1/bin #复制Redis的配置文件到/mnt/usr/redis/redis-3.2.1/bin目录下,便于管理

3.修改配置文件

vim /mnt/usr/redis/redis-3.2.1/bin/redis.conf


把no改为yes,开启后台启动


 在此处添加timeout 400

在此处指定日志文件路径,便于查询日志。

4.启动Redis服务

为方便使用命令,设置软链接:

ln /mnt/usr/redis/redis-3.2.1/bin/* /usr/local/bin

启动命令:

redis-server /mnt/usr/redis/redis-3.2.1/bin/redis.conf  #启动服务时指定配置文件目录,否则会报警告

5. 查看服务启动是否成功

netstat -antp

显示监听6379端口,证明服务启动成功

6.连接数据库

redis-cli    #连接本机数据库

-h IP:       #连接指定的Redis服务器

-p 6379:     #指定Redis服务器的端口

-a 密码:     #使用密码登录

-n 数据库号: #指定连接数据库

--raw:       #Redis支持存储中文

7.停止Redis服务

redis-cli shutdown或pkill -9 redis

六、部署项目

1.关闭tomcat与Nginx

2.修改tomcat配置文件

使用针对本项目的配置文件替换掉tomcat默认配置文件/mnt/usr/tomcat8_5_34/conf/server.xml

3.修改Nginx配置文件

使用针对本项目的配置文件替换掉Nginx默认配置文件

/mnt/usr/nginx/conf/nginx.conf

4.将war包上传到到项目目录中

上传至指定好的/mnt/usr/data/项目目录下

5.启动Tomcat与Nginx

/mnt/usr/tomcat8_5_34/bin/startup.sh  #启动Tomcat

cd /usr/local/nginx/sbin

./nginx     #启动Nginx

6.测试

访问172.16.101.42,系统正常运行即系统部署成功。

你可能感兴趣的:(tomcat,java,服务器,运维,linux)