apache和tomcat的区别-转载

本文详细介绍了Apache和Tomcat服务器的整合使用方法,包括安装、配置以及如何利用Apache作为两个Tomcat服务器的前端,负责转发客户端请求和服务器响应。通过整合,实现了静态页面由Apache处理,动态页面由Tomcat处理,有效减少了Tomcat的服务开销。

1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。

3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)

4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。

5. Apache和Tomcat是独立的,在通一台服务器上可以集成。

apache:侧重于http server
tomcat:侧重于servlet引擎,如果以standalone方式运行,功能上与apache等效 , 支持JSP,但对静态网页不太理想;

打个比方:Apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。

Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。

Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。

Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。

Apache源于 NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简 单、速度快、性能稳定,并可做代理服务器来使用。Apache对Linux的支持相当完美。

Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础 的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左 右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、 Windows、Linux系统平台上)以及它的可移植性等方面。

Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。

Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采 用Tomcat。

**JSP=Java Server Pages (Java服务器网页)

**ASP=Active Server Pages (活动服务器网页)

**CGI=Common Gateway Interface (通用网关接口)

**J2EE=Java 2 Platform, Enterprise Edition (Java2平台,企业版)

**XML=eXtensible Markup Language (扩展标记语言)

**IIS=Internet Information Server (互联网信息服务器)

-----------------

关于IIS:

IIS是Windows系统提供的一种服务,它包括WWW服务器、FTP服务器和SMTP服务器。

在UNIX或Linux平台上,Apache就是网站服务器。而对于Windows NT/2000来说,IIS就是标准的网站服务器。IIS是一种服务,是Windows 2000 Server系列的一个组件。不同于一般的应用程序,它就像驱动程序一样是操作系统的一部分,具有在系统启动时被同时启动的服务功能。

配置目的:

将apache作为两个tomcat server的前端,负责转发client request和server reponse。

apache地址:10.194.0.131

tomcat server地址:10.11.1.29、10.11.1.2

配置步骤如下:

一、下载新版本的Apache 2.0.54和Tomcat Connector 1.2.14.1源代码,编译安装Apache和Connector:

1.在Apache的源代码目录中运行BuildConf、Configure --prefix=/usr/local/Apache2.0.54、make、make install,将Apache安装到/usr/local/Apache2.0.54目录中。

2.在Connector源 代码目录的jk/native/运行BuildConf、Configure --with-apxs=/usr/local/Apache2.0.54/bin/apxs、make、make install,将mod_jk.so安装到/usr/local/Apache2.0.54/modules目录。

二、配置apache:

1.配置workers属性文件:在apache的conf目录中建立workers.properties文件,内容如下:

ps=/worker.list=worker1,jvm1worker.worker1.port=8009worker.worker1.host=10.11.1.29worker.worker1
.type=ajp13worker.worker1.socket_keepalive=trueworker.jvm1
.port=8009worker.jvm1.host=10.11.1.2worker.jvm1
.type=ajp13worker.jvm1.socket_keepalive=true

2.配置httpd.conf:

在LoadModule配置部分加入一下内容:

LoadModule jk_module modules/mod_jk.so# Where to find workers.propertiesJkWorkersFile /usr/local/apache2.0.54/conf/workers.properties# Where to put jk logsJkLogFile
/usr/local/apache2.0.54/mod_jk.log# Set the jk log level [debug/error/info]JkLogLevel
info# Select the log formatJkLogStampFormat
"[%a %b %d %H:%M:%S %Y] "# JkOptions indicate to send SSL KEY SIZE, JkOptions
+ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T"

在VirtualHost配置如下内容:
NameVirtualHost *:80
ServerAdmin webmaster@demo
ServerName 10.11.1.29
DirectoryIndex index.jsp index.html


JkMount /* worker1
ServerAdmin webmaster@print
ServerName 10.11.1.2


JkMount /* jvm1

三、配置tomcat:

1.修改10.11.1.29的server.xml文件:

找到…增加jvmRoute属性:

ocalhost" debug="0" baseDir="E:\Tomcat 5.0" backgroundProcessorDelay="10" className="org.apache.catalina.core.StandardEngine">…

2.修改10.11.1.2的server.xml文件:

找到…增加jvmRoute属性:

ocalhost" debug="0" baseDir="E:\Tomcat 5.0" backgroundProcessorDelay="10" className="org.apache.catalina.core.StandardEngine">…

四、扩展功能:

可以配置多个tomcat作为相同web application的多个server,并使用apache的负载均衡特性,已做到相同web application的多个server之间的负载均衡,提高web访问效率。本文中例子并没有实现此特性。大家自己按着文档试试吧。

<think>好的,我需要帮助用户在Linux环境下配置包含PHP7.4、MySQL5.7、Nginx1.2、Tomcat8、Redis的服务,还要搭建多个子域名站点,设置反向代理,安装Java环境,运行一个Java程序,并调整相关配置。此外,还需要处理FTP数据库连接参数,最后检查资源使用情况。 首先,我得理清用户的需求。用户提到的服务包括PHP、MySQL、Nginx、Tomcat、Redis,需要安装这些软件,并且每个服务都有特定的版本要求。然后是开放所有端口,这可能涉及到防火墙设置,但通常不建议开放全端口,用户可能需要确认是否是必要步骤。接着是创建五个子域名站点,涉及Nginx的虚拟主机配置,每个子域名对应不同的用途,比如ftp、api等,其中api需要反向代理到本地服务。用户还需要通过yum安装Java 1.8,运行stock.jar,修改配置文件,替换API地址,使用nohup保持运行,最后检查进程资源占用。 接下来,我需要根据每个软件的要求,分步骤处理安装配置。例如,安装PHP7.4可能需要添加第三方仓库,因为默认的yum源可能没有这个版本。MySQL5.7的安装可以参考用户提供的引用,其中提到使用MySQL的Yum源。Nginx1.2可能是指旧版本,但用户可能打错了,因为Nginx 1.2已经很老,而当前稳定版是1.20+,需要确认用户是否需要特定版本还是最新版。Tomcat8可以通过下载二进制包安装,Redis可以通过yum或源码安装。 对于子域名配置,Nginx需要设置多个server块,每个对应一个子域名,指定不同的root目录或代理设置。反向代理部分需要配置api子域名的请求转发到本地某个端口,比如Tomcat运行的8080端口或其他服务端口。 安装Java方面,用户提到使用yum安装openjdk1.8,这应该是可行的。然后修改stock.jar的配置文件application.propertiesapplication.yml,更新FTP数据库的连接参数,可能需要解压jar包或者使用外部配置文件。替换API地址可能涉及修改配置文件中的URL。使用nohup启动应用并保持运行,然后检查进程资源占用情况,可以使用top或htop命令。 还需要注意权限问题,比如数据库用户的创建,FTP用户的配置,以及各个服务运行时的用户权限。防火墙方面,如果开放全端口,可能需要禁用firewalld或者配置iptables,但安全风险较高,建议用户仅开放必要端口。 可能会遇到的问题包括软件版本冲突、依赖项缺失、配置文件错误导致服务无法启动,以及权限不足导致的访问问题。需要逐步验证每个步骤,检查服务状态日志文件。 现在需要将这些步骤系统化,分章节详细说明,确保用户能按顺序操作。同时,根据用户提供的引用,参考已有的安装方法,比如MySQL的安装步骤,JDK的安装路径等,确保一致性。最后生成相关问题,帮助用户深入理解相关配置优化。</think>### Linux服务器环境配置指南 #### 一、基础环境准备 1. 系统更新与工具安装 ```bash yum update -y yum install -y wget epel-release vim ``` 2. 开放端口(需确认安全策略) ```bash systemctl stop firewalld # 停止防火墙(不推荐生产环境) # 或使用firewall-cmd开放所有端口 firewall-cmd --add-port=1-65535/tcp --permanent firewall-cmd --reload ``` #### 二、软件安装配置 1. **PHP7.4安装** ```bash yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php74 yum install -y php php-fpm php-mysqlnd systemctl start php-fpm && systemctl enable php-fpm ``` 2. **MySQL5.7安装**[^2][^3] ```bash wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm rpm -ivh mysql57-community-release-el7-11.noarch.rpm yum install -y mysql-community-server systemctl start mysqld && systemctl enable mysqld # 获取临时密码 grep 'temporary password' /var/log/mysqld.log ``` 3. **Nginx安装** ```bash yum install -y nginx # 修改版本号为实际需求版本 systemctl start nginx && systemctl enable nginx ``` 4. **Tomcat8部署** ```bash wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69.tar.gz tar -zxvf apache-tomcat-8.5.69.tar.gz -C /usr/local/ mv /usr/local/apache-tomcat-8.5.69 /usr/local/tomcat8 ``` 5. **Redis安装** ```bash yum install -y redis systemctl start redis && systemctl enable redis ``` #### 三、多站点配置 1. **Nginx虚拟主机配置** ```nginx # /etc/nginx/conf.d/ftp.example.com.conf server { listen 80; server_name ftp.example.com; root /var/www/ftp; index index.html; } # API反向代理配置 server { listen 80; server_name api.example.com; location / { proxy_pass http://localhost:8080; # 代理到Tomcat或其他服务 proxy_set_header Host $host; } } ``` 重复创建`agent/admin/wap`子域配置文件,每个文件指定对应的`server_name``root`路径 2. **创建站点目录** ```bash mkdir -p /var/www/{ftp,api,agent,admin,wap} chown -R nginx:nginx /var/www ``` #### 四、Java环境部署 1. **安装JDK1.8** ```bash yum install -y java-1.8.0-openjdk java -version # 验证安装 ``` 2. **应用配置与运行** ```bash vim stock.jar # 实际应解压修改配置文件 # 修改application.properties # spring.datasource.url=jdbc:mysql://localhost:3306/stock # spring.datasource.username=root # spring.datasource.password=your_password nohup java -jar stock.jar > app.log 2>&1 & ``` #### 五、数据库连接配置 ```sql CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'SecurePass123!'; GRANT ALL PRIVILEGES ON stock.* TO 'appuser'@'localhost'; FLUSH PRIVILEGES; # [^4] ``` #### 六、监控与维护 ```bash top -o %MEM # 查看资源占用 ps aux --sort=-%cpu | head -10 # CPU占用排序 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值