Linux:安装部署Tomcat和Nginx

学习自:linux环境安装部署tomcat、nginx_ernesto_ji的博客-CSDN博客

系统相关

Linux服务器:Linux rhel1.myguest.virtualbox.org 3.10.0-1160.el7.x86_64
虚拟机平台:VirtualBox
终端模拟器:Tabby

步骤

1、Linux环境安装部署Tomcat

1)wget下载安装包 apache-tomcat-8.5.82.tar.gz

①先去官网tomcat官网,去Archives

②找到8.5.52版本,去bin目录下找到gz文件

 

 复制它的地址,可以粘贴下来先看看对不对

https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz

③去Linux环境下,用wget下载

wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz

下载完毕

2)在usr/local目录下创建tomcat目录,将下载好的tar文件移动到这个文件夹下

cd /usr/local
sudo mkdir tomcat
cd /download #你自己的下载tomcat的路径
sudo mv apache-tomcat-8.5.82.tar.gz /usr/local/tomcat
sudo cd /usr/local/tomcat

3)解压安装包

sudo tar -zxvf apache-tomcat-8.5.82.tar.gz

4)进入解压目录下(/usr/local/tomcat/apache-tomcat-8.5.82)的bin目录下启动tomcat

sudo cd bin

此时可能会报错:-bash: cd: bin/: Permission denied

需要修改该用户对bin文件夹的权限:

sudo chmod 777 bin

启动tomcat

sudo bash startup.sh

此时可能会报错,Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these environ,说明找不到Java路径,或者说系统中没有下载Java,解决方案Linux:安装Java以适配tomcat - ShineLe - 博客园

出现如下响应说明启动成功

 

此时可以在主机浏览器中通过,虚拟机IP:8080(例如我这里是192.168.10.20:8080),访问tomcat主页

 

2、Linux环境安装部署nginx

1)wget下载nginx安装包nginx-1.20.2.tar.gz

①去nginx官网的download目录下http://nginx.org/en/download.html

找到你想要下载的对应版本的nginx,注意区分是Windows操作系统还是Linux操作系统。

我这里下载的是nginx-1.20.2,右键单击,复制链接地址

②依照tomcat中所讲的相同方法,建立文件夹/usr/local/nginx,用wget和之前复制的地址把指定版本的nginx下载到这个文件夹下

cd /usr/local
sudo mkdir nginx
cd nginx
sudu get http://nginx.org/download/nginx-1.20.2.tar.gz

 ③解压缩

sudo tar -zxvf nginx-1.20.2.tar.gz

④安装依赖包(因为nginx是C语言写的,因此还需要安装编译等包)

sudo yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 

至于为什么要安装这些包,见nginx依赖包:pcre、zlib、OpenSSL、gd-devel

⑤如果./nginx/nginx-1.20.2/下没有目录sbin,那么需要手动创建

mkdir sbin
sudo bash ./configure --prefix=/usr/local/nginx/nginx-1.20.2
sudo make
sudo make install

在这个过程中可能会出现make[1]: Leaving directory `/usr/local/nginx'之类的提示,不用管,这是正常提示,不是报错。

上文在用configure编译时,指定了默认目录是/usr/local/nginx/nginx-1.20.2,如果未指定该项,那么默认目录就是/usr/local/nginx,此后所有nginx相关的二级目录都放在了该目录下:

默认前缀(未指定--prefix时):/usr/local/nginx

可执行文件:前缀/sbin/nginx

模块:前缀/modules

配置文件:前缀/conf

PID文件:前缀/logs/nginx.pid

日志(包括error和access):前缀/logs

⑥修改nginx端口,进入nginx下的conf目录,编辑nginx.conf

cd conf
vi nginx.conf

 修改内容我是参照

详解Linux下Nginx+Tomcat整合的安装与配置 - Python技术站

linux环境安装部署tomcat、nginx_ernesto_ji的博客-CSDN博客

server {
    listen       8099;
    server_name  192.168.10.20;
#listen:监听的端口
#server_name:指我们要访问的域名 (实际在浏览器中输入的)

#proxy_pass:指域名转发后,实际访问的ip和端口
location
/ { proxy_pass http://192.168.10.20:8080; } }

 proxy_pass最后有个分号不要忘记

修改以上内容的含义是

  • listen+server_name:nginx监听端口8099,端口的主机是192.168.10.20,那么当我们在主机浏览器中输入192.168.10.20:8099,这个请求就会被nginx监听到;
  • proxy_pass:监听后实际访问的网址,当访问192.168.10.20:8099时,该请求被监听到,随后通过代理访问proxy_pass,而这就是实际访问的网址,上文中设置的是192.168.10.20:8080。
  • 因此全过程就是,在浏览器中输入192.168.10.20:8099,通过nginx实际访问192.168.10.20:8080(但是不会显示出来,因此我们看到的还是8099端口)。

⑦进入sbin目录启动

sudo sbin/nginx

这里可能报错nginx: [alert] could not open error log file和open()

"/usr/local/nginx/nginx-1.20.2/logs/error.log"

和"/usr/local/nginx/nginx-1.20.2/logs/access.log" failed (2: No suchfile or directory)

解决方案

cd /usr/local/nginx/nginx-1.20.2
mkdir logs
touch ./logs/error.log
touch ./logs/access.log
sudo sbin/nginx

启动之后,输入如下指令可以查看是否启动成功

ps aux | grep nginx

 ⑧验证效果

在主机浏览器中输入http://192.168.10.20:8099/,出现tomcat主页,这和我们直接访问192.168.10.20:8080的效果相同,只是为我们隐蔽了真实的IP,这就是nginx代理的作用

 

posted @ 2023-08-03 14:33  ShineLe  阅读(372)  评论(0编辑  收藏  举报