文章目录
先说效果,可以本地访问一个自己起的域名然后通过Nginx服务器转发到Tomcat服务器上(本质:请求转发)
文章分四部分
- 基本介绍
- Tomcat环境搭建
- Nginx环境搭建
- 打通Nginx和Tomcat连接
一、基本介绍
-
首先安装Tomcat服务器,运行访问正常之后,本地host一个域名(自己起的)到Tomcat服务器,访问正常后Tomcat环境准备完毕;
-
其次Nginx安装运行出现 Welcome to Nginx界面为正常;
-
最后连接部分需要在Nginx配置文件中加上Tomcat的IP和端口、以及自己起的域名,测试连通。
二、Tomcat及环境搭建
Tomcat和JDK包
链接:https://pan.baidu.com/s/1VTqPqRYOVHy0TBTZ6cS3xA
提取码:lbju
内容如下:
apache-tomcat-9.0.40.tar.gz
jdk-11.0.9_linux-x64_bin.tar.gz
JDK
配置JDK环境,解压JDK包
tar -zxvf jdk-11.0.9_linux-x64_bin.tar.gz
配置路径
打开vim /etc/profile
,添加配置
export JAVA_HOME=/opt/tomcat/jdk-11.0.9 #这个是jdk的位置
export JAVA_BIN=$JAVA_HOME$/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
验证java -version
出现下面文字说明成功
java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)
Tomcat
解压 tar -zxvf apache-tomcat-9.0.40.tar.gz
启动
转到目录/apache-tomcat-9.0.40/bin
下,./startup.sh
启动Tomcat,./shutdown.sh
关闭Tomcat
验证启动ps aux | grep tomcat
这个Tomcat换成别的就可以测试别的程序是否启动。
出现下面启动成功
root 66901 36.2 1.0 9351748 169140 pts/0 Sl 20:00 0:07 /opt/tomcat/jdk-11.0.9/bin/java -Djava.util.logging.config.file=/opt/tomcat/apache-tomcat-9.0.40/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/tomcat/apache-tomcat-9.0.40/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-9.0.40/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat/apache-tomcat-9.0.40 -Dcatalina.home=/opt/tomcat/apache-tomcat-9.0.40 -Djava.io.tmpdir=/opt/tomcat/apache-tomcat-9.0.40/temp org.apache.catalina.startup.Bootstrap start
root 66959 0.0 0.0 12320 1084 pts/0 S+ 20:00 0:00 grep --color=auto tomcat
此时我们可以直接使用***.***.***.***:8080
的形式访问(***.***.***.***是ip)会出现如下图片
下面来看Tomcat的配置文件:
vim /opt/tomcat/apache-tomcat-9.0.40/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" #第一个8080是tomcat的端口,可以修改
connectionTimeout="20000"
redirectPort="8443" />
Tomcat的web页面
/opt/tomcat/apache-tomcat-9.0.40/webapps/ROOT
此路径下的index.jsp文件,有兴趣可以修改一下。
host测试
windows电脑:C:\Windows\System32\drivers\etc
路径下的hosts文件,由于正规的域名是要买的,我们只能用在hosts文件里配置的方式来使用域名加端口的方式来爽一下(上面使用的是IP加端口的方式)
打开housts文件,输入Tomcat 所在电脑的ip,空格后面接自己起的域名保存后,浏览器上使用域名加端口的方式就能访问Tomcat。
hosts配置形式***.***.***.*** www.jkjk66.top
浏览器访问形式:www.jkjk66.top:8080
三、Nginx 及环境搭建
Nginx和pcre
链接:https://pan.baidu.com/s/1RhcboRItJAQv0Cxn_AP7dQ
提取码:vx8c
内容如下:
nginx-1.18.0.tar.gz
pcre-8.00.tar
参考:Nginx 系列一:Nginx 服务器的安装部署
参考:PCRE的安装及使用
基础环境配置
yum -y install gcc gcc-c++ automake zlib zlib-devel
解压pcre
tar -zxvf pcre-8.00.tar
出现了pcre-8.00,进入文件夹下
./configure --prefix=/usr/local/pcre-8.00 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
编译
有可能make不存在,yum install -y make
安装一下
在当前文件夹下使用make
安装 make install
检查
- ls /usr/local 检查是否有pcre-8.00目录
- ls /usr/local/lib 检查是否有pcre目录
- ls /usr/local/include 检查是否有pcre目录
将库文件导入cache:在/etc/ld.so.conf
中加入: /usr/local/lib/pcre
,然后运行ldconfig
Nginx安装
解压tar -zxvf nginx-1.18.0.tar.gz
,完成后出现nginx-1.18.0
,为了以后方便,创建文件夹,用来存放nginx相关文件
mkdir nginx-1.18.0-example
创建文件夹
chmod a+x nginx-1.18.0-example
赋予操作权限
进入nginx-1.18.0
中, 执行./configure --prefix=/opt/nginx/nginx-1.18.0-example
其中--prefix
指定了Nginx软件的安装路径。
编译make
安装make install
完成后,nginx-1.18.0-example文件夹下会出现如下文件
[root@localhost nginx-1.18.0-example]# ls -l
总用量 4
drwxr-xr-x. 2 root root 4096 12月 20 03:21 conf
drwxr-xr-x. 2 root root 40 12月 20 03:21 html
drwxr-xr-x. 2 root root 6 12月 20 03:21 logs
drwxr-xr-x. 2 root root 19 12月 20 03:21 sbin
启动nginx [root@localhost nginx-1.18.0-example]# ./sbin/nginx
查看启动ps aux | grep nginx
[root@localhost nginx-1.18.0-example]# ps aux | grep nginx
root 117126 0.0 0.0 35096 420 ? Ss 21:36 0:00 nginx: master process ./sbin/nginx
root 117127 0.0 0.0 66580 4188 ? S 21:36 0:00 nginx: worker process
root 117133 0.0 0.0 12320 972 pts/0 S+ 21:37 0:00 grep --color=auto nginx
启动成功
浏览器访问 ***.***.***.***
(nginx程序所在的电脑的ip)直接访问,出现如下界面则开启成功
关闭nginx
首先查询nginx的进程号 ps aux | grep nginx
[root@localhost nginx-1.18.0-example]# ps aux | grep nginx
root 117126 0.0 0.0 35096 420 ? Ss 21:36 0:00 nginx: master process ./sbin/nginx
root 117127 0.0 0.0 66580 4188 ? S 21:36 0:00 nginx: worker process
root 117133 0.0 0.0 12320 972 pts/0 S+ 21:37 0:00 grep --color=auto nginx
关闭kill -INT 117126
关闭第一行的主程序master process
再次查询ps aux | grep nginx
[root@localhost nginx-1.18.0-example]# ps aux | grep nginx
root 117133 0.0 0.0 12320 972 pts/0 S+ 21:37 0:00 grep --color=auto nginx
关闭成功
四、 打通Nginx和Tomcat连接(在nginx配置tomcat)
打开配置完成的配置文件
vim /opt/nginx/nginx-1.18.0-example/conf/nginx.conf
#user nobody;
user root; #这个地方最好改一下,不然可能会出现权限不够的情况
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server { #这是默认的
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm; # 那个welcome to Nginx就是这个页面
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
##########################################################
#配置www.jkjk66.top:8080 对应的服务监听端口
upstream tomcat1{
server ***.***.***.***:8080;#这个***填tomcat的主机ip,端口号如果tomcat配置文件没修改就是8080
}
server{
listen 80; #同样监听80端口,因为互联网默认是访问80,所以后面域名访问可以不带端口
server_name www.jkjk66.top; #这个是自己起的,后面会使用这个通过nginx访问tomcat
location / {
proxy_pass http://tomcat1; #这个tomcat1和上面的要对应
#配置默认网页,这里会访问到tomcat1里面的web界面
index index.jsp; #tomcat默认的web页面
}
}
########################################################
}
配置完成后重新启动nginx,到这**99.99%**已经完成,最后一步将我们自己起的域名在windosw的hosts文件中与nginx所在主机关联起来,就可以了。
巩固知识的同时,希望能帮助大家,略。