Linux:安装部署Tomcat和Nginx
学习自:linux环境安装部署tomcat、nginx_ernesto_ji的博客-CSDN博客
系统相关
步骤
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/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代理的作用