• 关于

    虚拟加载模块怎么看配置

    的搜索结果

回答

你的Tomcat是几个呢? 是一个虚拟主机一个tomcat,还是公用一个tomcat呢? 思路是:Apache 在全局加载 mod_jk.so 以及 jk.properties 配置,然后在虚拟主机中配置 urimapping.properties######楼上说得对.. LZ 先说说大概的要求. 其实思路对了是很简单的.###### 引用来自“红薯”的帖子 你的Tomcat是几个呢? 是一个虚拟主机一个tomcat,还是公用一个tomcat呢? 思路是:Apache 在全局加载 mod_jk.so 以及 jk.properties 配置,然后在虚拟主机中配置 urimapping.properties 我的Tomcat现在是一个,但我想着再加一个的。 Apache和Tomcat的整合我是按照你在IBM的网站上面的方法配置的,可以运行,但是里面有个警告。 我现在想怎么去配置一个服务器怎么配置多个网站,还有配置二级域名的事情! 谢谢各位的帮忙,再次十分感谢! ######其实很简单.Apache 整合tomcat可以通过 JK, 这是往常的做法。但现在也可以通过 Apache 的反向的代理功能实现。 不过我想LZ现在应该是需要 Apache + JK + Tomcat 这种配置了。 先问问LZ说里边报的警告是什么? 首先说说是 Apache 的配置 httpd.conf LZ 需要的是配置虚拟主机, 即 Apache + JK +( tomcat1 / tomcat 2) 这么首先配的是 httpd.conf 的虚拟主机配置 如下:httpd.conf 找到 #NameVirtualHost 去掉前边的 # 然后配置如下 NameVirtualHost *:80 ######################################### <VirtualHost *:80>     ServerAdmin xxx@xxx.com     DocumentRoot "/opt/webroot"     ServerName localhost     #ErrorLog logs/error.log     JkMountFile conf/localhost.properties </VirtualHost> ######################################### <VirtualHost *:80>     ServerAdmin xxx@xxx.com     DocumentRoot "/opt/web1"     ServerAlias  www.web1.com     #ErrorLog logs/error.log     JkMountFile conf/web1.properties   #加载mod_jk配置路径 </VirtualHost> ######################################### <VirtualHost *:80>     ServerAdmin xxx@xxx.com     DocumentRoot "/opt/web2"     ServerAlias www.web2.com     #ErrorLog logs/error.log     JkMountFile conf/web2.properties  #加载mod_jk配置路径 </VirtualHost> ################################## 以上配置的前提是你已经顺利编译安装好 mod_jk 模块 然后修改 mod_jk 的全局配置 httpd-jk.conf vim conf/extra/httpd-jk.conf LoadModule      jk_module       modules/mod_jk.so JkWorkersFile   conf/workers.properties   #指定各个配置文件路径 JkMountFile     conf/urimap.properties JkLogFile       logs/mod_jk.log JkLogLevel      warn <Location /jkstatus>    #管理页面     JkMount status </Location> :wq 保存退出 ######################### 然后创建各自的 web1.properties ,web2.properties 配置文件,目录路径跟 httpd.conf 相同 # vim conf/web1.properties /*=tomcat_web1  !/*.gif=web1  !/*.jpg=web1 !/*.png=web1 !/*.html=web1 !/*.htm=web1 #第一行的意思是把请求转往代号为 tomcat_web1(命名可与虚拟主机无关) 的 tomcat 端, 一会我们需要在 workers.properties 配置中设置。 #而剩下的是不需要转往 tomcat 的请求类型, 因为 tomcat 处理静态文件性能很差, 所以这里的规则就是过滤,把静态文件处理留给apache。 :wq 保存退出 web2.properties 的配置方式跟 web1 相同。 #################################  编辑 jk 全局配置 # Vim workers.properties worker.list=tomcat_web1,tomcat_web2,status     #告诉 jk 你需要他统管的 tomcat 名(代号) 最后一个"status" 是jk 的管理页面 worker.status.type=status  #为 status 路径设置属性为管理页面。 ############# 先配置好每个 tomcat 与 JK 的链接参数 ################ worker.s1.type=ajp13    #协议类型 worker.s1.host=127.0.0.1 #tomcat所在服务器的ip,如果是本机就是 127.0.0.1 worker.s1.port=8108 #tomcat的端口 worker.s1.lbfactor=1 #如果是均衡负载状态,多个tomcat的负载比例。 worker.s2.type=ajp13 worker.s2.host=127.0.0.1 worker.s2.port=8109 worker.s2.lbfactor=1 ############## 再配置 tomcat 与 jk 的调度 ############### worker.tomcat_web1.type=lb    #lb 的意思是可集成多个tomcat均衡负载,但只有一个tomcat 的时候也可以使用。 worker.tomcat_web1.balance_workers=s1  #开头的"worker.tomcat_web1"对应web1.properties的配置。这里配置群组的tomcat成员。"s1" 是成员代号。对应上边tomcat的链接参数。 worker.tomcat_web1.sticky_session=True #是否打开session 粘贴。 worker.tomcat_web2.type=lb #意义同上 worker.tomcat_web2.balance_workers=s2 worker.tomcat_web2.sticky_session=True :wq 配置完成后保存退出  ########################### 配置路径名: 编辑或创建 urimap.properties # vim urimap.properties /*=lb         # 把请求发往 lb /jkstatus=status  # 把JK管理页面的连接定为 http://www.web1.com/jkstatus 或者 http://www.web2.com/jkstatus  :wq 保存退出 你也可以修改或创建相同目录里localhost.properties 把 管理页面链接加到里边。这么链接地址就为 http://localhost/jkstatus ##################### 然后就剩下 tomcat 了 修改端口号对应tomcat 组这个不用说了吧? 最重要说的是既然在各自的 web1.properties 跟 workers.properties中配置了 tomcat 名, 这么除了告诉jk tomcat的IP地址以及端口号, 还必须告诉 tomcat 他的名字。 Engine jvmRoute="tomcat_web1" 分别在 tomcat1 跟 tomcat2 的  server.xml 中找到相应的配置. 改上相应的参数! 到此,即完成整个 Apache + JK + tomcat 的配置过程。  ######按照这配置后,为什么打开http://www.xxx.com/jkstatus 为404页面呢?######  十分感谢,二级域名,你会配置吧?麻烦你了! ######这里已经有二级域名了啊~ 把配置都给你写出来了,还想要什么啊 :)###### 抱歉啊,刚才有些忙,大概了看了些,十分抱歉了!再次感谢你的帮助,谢谢了! ######呵..LZ 如果你觉得头晕..你不妨考虑一下 Apache 的反向代理 httpd proxy 功能到 tomcat 还好.比 mod_jk 简单多了。 不过学会一种知识对你来说更加有用。######嗯,谢谢你们了!十分感谢!

kun坤 2020-06-05 13:22:10 0 浏览量 回答数 0

问题

Nginx性能为什么如此吊

小柒2012 2019-12-01 21:20:47 15038 浏览量 回答数 3

问题

程序员报错QA大分享(1)

问问小秘 2020-06-18 15:46:14 8 浏览量 回答数 1

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

问题

Vue面试题汇总【精品问答】

问问小秘 2020-05-25 18:02:28 11132 浏览量 回答数 2

回答

一、故障现象描述 NAS操作系统内核为Linux,自带的存储有16块硬盘,总共分两组,每组做了RAID5,Linux操作系统无法正常启动,在服务启动到cups那里就停止了,按键ctrl+c强制断开也没有响应,查看硬盘状态,都是正常的,没有报警或者警告现象。 二、问题判断思路 通过上面这些现象,首先判断NAS硬件应该没问题,NAS存储盘也应该正常,现在Linux无法启动,应该是Linux系统本身存在问题,因此,首先从Linux系统入手进行排查。 三、问题处理过程 1、第一次处理过程 NAS系统本身就是一个Linux内核装载了一个文件系统管理软件,管理软件可以对系统磁盘、系统服务、文件系统等进行管理和操作,正常情况下,基于Linux内核的NAS系统应该启动到init3或者init5模式下,由于NAS仅用了Linux一个内核模块和几个简单服务,所以判断NAS下的Linux系统肯定是启动到init 3模式下,那么现在无法启动到多用户字符界面下,何不让Linux直接进入单用户(init 1)模式下呢,因为单用户模式下仅仅启用系统所必须的几个服务,而cpus服务是应用程序级别的,肯定不会在“init 1”模式下启动,这样就避开了cups无法启动的问题,所以,下面的工作就是要进入Linux的单用户模式下。 很多的Linux发行版本都可以在启动的引导界面通过相关的设置进入单用户模式下,通过查看NAS的启动过程,基本判断这个Linux系统与RHEL/Centos发行版极为类似,因此,就通过RHEL/Centos进入单用户模式的方法试一试。 RHEL/Centos进入单用户模式很简单,就是在系统启动到引导欢迎界面下,按键e,然后编辑正确的内核引导选项,在最后面加上“single”选项,最后直接按键“b“即可进入单用户了。 接下来,重新启动NAS,然后硬件自检,接着开始启动Linux,一直在等待这个NAS的启动欢迎界面,但是欢迎界面一直没出来,就直接进入内核镜像,加载内核阶段了,没有内核引导界面,如何进入单用户啊,经过简单思考,还是决定在硬件检测完毕后直接按键盘”e“键,奇迹出现了,还真的可以,NAS进入到了内核引导界面,通过简单观察,发行第二个正是要引导的内核选项,于是移动键盘上下键,选择这个内核,然后在按键”e“,进入内核引导编辑界面了,在这行的最后面,输入“single”,然后按回车键,返回上个界面,接着按键“b”开始进行单用户引导,经过一分钟的时间,系统如愿以偿的进入了单用户下的shell命令行。 进入单用户模式后,能做的事情就很多了,首先要做的就是将cups服务在多用户模式下自启动关闭,执行命令如下: chkconfig --levle 35 cups off 执行成功后,重启系统进入多用户模式下,看看系统是否能正常启动。 2、第二次处理过程 将cups服务开机自启动关闭后,重启NAS,发现问题依旧,NAS还是启动到cups服务那里停止了,难道上面的命令没有执行成功吗?明明已经禁止了cups服务启动了,怎么还是启动了呢?于是,继续重启NAS,再次进入单用户模式下,看看问题究竟出在哪里了。 进入单用户后,再次执行chkconfig 命令,依旧可以成功,难道是cups服务有问题,先看看配置文件,执行如下命令: vi /etc/cups/cupsd.conf 在这里发现了一个问题,vi打开cupsd.conf时,提示“write file in swap”,文件明明真实存在,怎么说在虚拟内存中呢,经过思考,只有一种可能,NAS设备的Linux系统分区应该没有正确挂载,导致在进入单用户的时候,所有文件都存储在了虚拟内存中,要验证非常简单,执行“df”命令查看即可,如下图所示: 从这里可以看出,Linux的系统分区并未挂载,通过“fdisk -l”检查下磁盘分区状态,输出如下图所示: 通过输出可知,NAS的系统盘是/dev/sda,仅划分了/dev/sda1和/dev/sda2两个系统分区,而数据磁盘是经过做RAID5完成的,在系统上的设备标识分别是/dev/sdb1和/dev/sdc1,由于单用户默认没有挂载任何NAS磁盘,这里尝试手动挂载NAS的系统盘,执行如下命令: [root@NASserver ~]#mount /dev/sda2 /mnt [root@NASserver ~]#mount /dev/sda1 /opt 这里的/mnt、/opt是随意挂载的目录,也可以挂载到其他空目录下,挂载完成,分别进入这连个目录看看内容有什么,如下图所示: 通过这两个内容的查看,初步判断,/dev/sda2分区应该是Linux的根分区,而/dev/sda1应该是/boot分区。现在分区已经挂载上去了,再次执行df命令看看挂载情况,如下图所示: 到这里为止,发现问题了。/dev/sda2磁盘分区已经没有可用的磁盘空间了,而这个分区刚好是NAS系统的根分区,根分区没有空间了,那么系统启动肯定就出问题了。 下面再把思路转到前面介绍的案例中,由于系统cups服务在启动的时候会写启动日志到根分区,而根分区因为没有空间了,所以也就无法写日志了,由此导致的结果就是cups服务无法启动,这就解释了此案例中NAS系统每次启动到cups服务就停止的原因。 四解决问题 由于NAS系统只有根分区和/boot分区,所以系统产生的相关日志都会存储在根分区中,现在根分区满了,首先可以清理的就是/var目录下的系统相关日志文件,通常可以清理的目录有/var/log,执行如下命令查看/var/log日志目录占据磁盘空间大小: [root@NASserver ~]# du -sh /var/log 50.1G /var/log 通过命令输出发现/var/log目录占据了根分区仅70%的空间,清理这个目录下的日志文件即可释放大部分根分区空间,清理完毕,重启NAS系统,发现系统cups服务能正常启动了,NAS服务也启动正常了。 答案来源网络,供参考,希望对您有帮助

问问小秘 2019-12-02 03:02:01 0 浏览量 回答数 0

问题

支付宝的性能测试

云效平台 2019-12-01 21:47:13 5472 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站