实验环境
tomcat+jdk安装
centos7(默认安装了JDK环境,但需要手动配置/etc/profile的环境变量)
如果使用 java -version显示这样,则代表本台设备是安装了jdk的
ok,总结一下
照着手册配的,但中间还是出现了问题。原本我知道centos7是默认安装了jdk环境,所以我就在/etc/profile仅配置了tomcat的环境变量,我默认jdk的环境变量已经配置。因此我在执行:
[root@localhost jvm]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost jvm]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1069/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1069/dovecot
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1069/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1069/dovecot
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 666/rpcbind
tcp 0 0 192.168.28.149:53 0.0.0.0:* LISTEN 1054/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1054/named
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1054/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 994/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 996/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1304/master
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1054/named
tcp 0 52 192.168.28.149:22 192.168.28.1:8308 ESTABLISHED 12674/sshd: root@pt
tcp6 0 0 :::993 :::* LISTEN 1069/dovecot
tcp6 0 0 :::995 :::* LISTEN 1069/dovecot
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 15092/java
tcp6 0 0 :::3306 :::* LISTEN 1685/mysqld
tcp6 0 0 :::110 :::* LISTEN 1069/dovecot
tcp6 0 0 :::143 :::* LISTEN 1069/dovecot
tcp6 0 0 :::111 :::* LISTEN 666/rpcbind
tcp6 0 0 :::8080 :::* LISTEN 15092/java
tcp6 0 0 :::80 :::* LISTEN 2036/httpd
tcp6 0 0 ::1:53 :::* LISTEN 1054/named
tcp6 0 0 :::22 :::* LISTEN 994/sshd
tcp6 0 0 ::1:631 :::* LISTEN 996/cupsd
tcp6 0 0 :::25 :::* LISTEN 1304/master
tcp6 0 0 ::1:953 :::* LISTEN 1054/named
[root@localhost jvm]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
发现执行结果也是显示成功的,但是去查看端口时,发现8080并没有监听。所以就去寻找解决办法,去对应目录下找日志
[root@localhost bin]# cd /usr/local/tomcat/logs/
[root@localhost logs]# ls
catalina.out
[root@localhost logs]# cat catalina.out
/usr/local/tomcat/bin/catalina.sh:行504: /opt/java/jdk-11/bin/java: 没有那个文件或目录
/usr/local/tomcat/bin/catalina.sh:行504: /opt/java/jdk-11/bin/java: 没有那个文件或目录
ok,此时我就恍然大悟了,jdk的环境变量需要我自己配置。所以总结一下在这个过程中我出现的问题:
①echo J A V A H O M E 方法是在已经配置了 / e t c / p r o f i l e 文件的前提下查询的,如果该文件 JAVA_HOME 方法是在已经配置了/etc/profile 文件的前提下查询的,如果该文件 JAVAHOME方法是在已经配置了/etc/profile文件的前提下查询的,如果该文件JAVA_HOME配置错误,输出结果也是错误的。默认是没有在profile里配置。
②which java查询到的是java的执行路径,不是安装路径!!
③whereis java 也不能查询到安装路径,它就罗列出一堆包含java的文件,对查找安装路径一点用都没有!!!
④在一篇文章中找到了:一般centos7.4 中jdk默认安装位置:
[root@localhost logs]# cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
于是我就去/etc/profile下配置jdk环境变量了
#java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
配置完成后,需要立即生效:
[root@localhost logs]# source /etc/profile
此时重新启动tomcat,再去查看端口时,8080已经有了
最后测试:在客户端浏览器上输入192.168.28.149:8080
成功访问!!!
注:后面我再次测试的时候,前提是我yum -y install java 且 当JDK为这个版本时,启动tomcat后,端口也监听了。发现无需再配置java环境变量了。。。。
[root@localhost jvm]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
MySQL安装(源码包安装)
1)首先先将MySQL所需要的软件安装上
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison openssl-devel
2)再去MYSQL官网下载boost包
3)上传至服务器,解压缩
4)创建mysql账号,指定为不可登录
useradd -r -s /sbin/nologin mysql
建立对应的安装目录,数据存储目录,并对数据目录所有者修改为mysql
mkdir -p /usr/local/mysql
mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql
5)切换到解压的mysql目录下,开始编译安装
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make && make install
5上面的两步,每一步结束后可以echo$? 判断是0还是1,判断到底安装成功没用
6)开始配置启动文件
编辑/etc/my.cnf ( 如果没有则创建)
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/data
pid-file = /data/mysql/mysql.pid
log_error = /data/mysql/mysql-error.log
7)修改mysql配置目录的所属者为mysql
chown -R mysql:mysql /usr/local/mysql
切换到/usr/local/mysql目录下初始化mysql
cd /usr/local/mysql
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
如果初始化有问题显示
bash: ./mysqld: 没有那个文件或目录
则需要添加环境变量:
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile #环境变量立即生效
8)设置mysql启动脚本
cp mysql.server /etc/init.d/mysqld
9)重启服务
service mysqld start
设置开机自启动
systemctl enable mysqld
nginx安装(源码包安装)
wget http://nginx.org/download/nginx-1.12.2.tar.gz
安装编译软件
yum -y install pcre-devel zlib-devel gcc
2)上传至服务器并解压
3)创建nginx用户
useradd -r -s /sbin/nologin nginx
4)切换至解压目录,开始编译
./configure --user=nginx --group=nginx
make && make install
5)修改nginx配置文件,/usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
user nginx;
upstream tomcat {
#添加负载调度(为了后期扩展更多Tomcat服务器方便),
server 192.168.28.151:8080;
}
location / {
root html;
index index.html index.htm; //在这后面添上下面两句
#添加反向代理,
proxy_pass http://tomcat;
proxy_set_header Host $host;
}
6)保存退出,重启服务
pkill -HUP nginx
7)也可源文件启动
/usr/local/nginx/sbin/nginx
扩展:做个链接,将此加入环境变量中。(以后无需去对应目录下启动)
ln -s /usr/local/nginx/sbin/* /usr/bin/
8)测试:
服务器ip:80 与 服务器ip:8080,显示的结果是一样的,则证明nginx以及成功为tomcat做了反向代理!!
部署JAVA的WAR包(网站打包)
1)在 /usr/local/tomcat/conf/server.xml 下添加
[root@localhost conf]# vim /usr/local/tomcat/conf/server.xml
2)将war包拷贝到webapps目录中(这里需要自己上传war包)
cp -a /root/test.war /usr/local/tomcat/webapps/
3)删除网站的ROOT目录 #删除是为了网站安全
[root@localhost conf]# cd /usr/local/tomcat/webapps
[root@localhost webapps]# ls
docs examples host-manager manager ROOT test test.war
[root@localhost webapps]# rm -rf ROOT/
4)重启tomcat服务
[root@localhost webapps]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost webapps]# /usr/local/tomcat/bin/catalina.sh start
5)使用客户端去访问nginx服务的端口
ok,失败了。具体原因后续补充。
多个tomcat实例(拓展)
1)先将tomcat停止
/usr/local/tomcat/bin/catalina.sh stop
2)创建一个副本叫tomcat-2,删除里面的/log
cd /usr/local/
cp -a tomcat/ tomcat-2
rm -rf tomcat-2/logs/*
3)修改tomcat-2文件中的server.xml文件,把shutdown 和 Connector 端口修改为另外的。
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="utf-8"
redirectPort="8443" />
4)修改startup.sh 和 shutdown.sh 文件
在第一行均加入
export CATALINA_HOME=/usr/local/tomcat-2
5)启动tomcat
/usr/local/tomcat/bin/catalina.sh start
/usr/local/tomcat-2/bin/catalina.sh start
6)测试,结果肯定是两个不同的端口均访问的相同的网页,做了负载均衡。但我war包存在问题,因此后续补充!!
因为端口是成功显示的,可能网站配置存在问题