当前位置: 首页 > news >正文

Linux上iPortal 配置80端口的http

作者:yx


文章目录

  • 前言
  • 方法一、配置使用外置ES
    • 1、关闭启用 iPortal 内置的 ES
    • 2、修改80端口
    • 3、启动外置ES
    • 4、启动iPortal
    • 5、结果验证
  • 方法二、更改 Linux 系统配置
    • 1. 安装 Authbind
    • 2. 启用端口的读取和执行权限
    • 3. 在 Apache Tomcat 上启用 Authbind
    • 4. 重启iPortal
    • 5. 结果验证


前言

大家知道Linux上边启动Elasticsearch(以下简称:ES)需要普通用户,不能是root用户,因此在Linux上边启动iPortal时需要以非root用户去启动,但是有的项目又需要以80端口去启动,由于Linux普通用户,不能使用小于1024的端口,因此如果在Tomcat的server.xml里面配置端口为80的话,HTTP服务器启动会失败。那对于这种情况该如何处理呢,一起来看看吧!


方法一、配置使用外置ES

注:如果您自己搭建了 ES服务器,可以直接用搭建好的。这里以iPortal自带的ES为例

1、关闭启用 iPortal 内置的 ES

修改 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 配置文件,具体配置项如下:

<IportalConfig>...<modulesConfig><searchModuleConfig class="com.supermap.server.config.BuildinSearchConfig"><enable>true</enable> <reindexAllResources>true</reindexAllResources><startElasticSearch>false</startElasticSearch><port>8192</port></searchModuleConfig></modulesConfig>...
</IportalConfig>
  • <enable>:是否启用搜索服务。默认值: true。注意:此参数必须设置为 true。
  • <reindexAllResources>:是否重新索引已有 iPortal 资源。重建索引后,此配置会自动设置为 false。
  • <startElasticSearch>:是否启用 iPortal 内置的 ES。默认值:true。如果您希望使用自己搭建的 ES 服务器,需要将该值设置为 false。
  • <port>:搜索服务的端口。默认值:8192。

其中需要修改 <startElasticSearch>参数为false。配置完成后,需重启 iPortal 生效。

2、修改80端口

修改 Tomcat 配置文件%SuperMap iPortal_HOME%/bin/conf/server.xml,如下:

    <Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8453"executor="tomcatThreadPool"enableLookups="false" URIEncoding="utf-8"compression="on"compressionMinSize="2048"compressableMimeType="text/html,text/xml,text/plain,text/javascript,application/xml,application/json,application/rjson"/>
  • port:启动服务端口,默认为8190,这里修改为80

3、启动外置ES

由于iPortal启动时会去检测ES是否可用,因此需要先将ES启动好,再去启动iPortal。
切记需要以非root去执行%SuperMap iPortal_HOME%/bin 目录下./startes.sh脚本,出现如下图字样代表启动成功:
在这里插入图片描述

4、启动iPortal

ES启动好之后,最后一步就是启动iPortal,这个时候再切换为root用户启动iPortal即可。出现如下图字样代表启动成功:
在这里插入图片描述

5、结果验证

可以看到通过80端口访问成功,且“全局搜索功能”可以正常使用
在这里插入图片描述

方法二、更改 Linux 系统配置

修改 Linux 系统配置,使得非root用户可以启动80端口

1. 安装 Authbind

在 Linux 系统上我们可以下载并安装 Authbind 软件包:

$ sudo apt-get install authbind    适用于Debian/Ubuntu
$ sudo yum install authbind        适用于CentOS

如果在安装Authbind过程中出现以下报错:
在这里插入图片描述
您可以在联网情况下直接下载对应rpm包并进行安装:

wget https://s3.amazonaws.com/aaronsilber/public/authbind-2.1.1-0.1.x86_64.rpm   		#下载文件
rpm -Uvh https://s3.amazonaws.com/aaronsilber/public/authbind-2.1.1-0.1.x86_64.rpm  	#安装

在这里插入图片描述
在这里插入图片描述

2. 启用端口的读取和执行权限

接下来需要执行几条命令来启用端口的读取和执行权限。

$ sudo touch /etc/authbind/byport/80
$ sudo chmod 500 /etc/authbind/byport/80
$ sudo chown <user> /etc/authbind/byport/80    #需要替换命令中的 <user> 为实际运行 Tomcat 的用户名称。

3. 在 Apache Tomcat 上启用 Authbind

修改 Tomcat 配置文件,以便在 Tomcat 启动时使用 Authbind。打开 【SuperMap iPortal_HOME】/bin/startup.sh 文件,替换下面一行:

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

替换为

exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"

在这里插入图片描述

4. 重启iPortal

最后重新启动iPortal即可

5. 结果验证

可以看到通过80端口访问成功,且“全局搜索功能”可以正常使用
在这里插入图片描述

相关文章:

  • 快速解决 npm 安装 node-sass 速度慢/错误的问题(nexus私服问题见上一篇博客)
  • 力扣热题100道-双指针篇
  • Flink1.17实战教程(第五篇:状态管理)
  • 文件操作安全之-目录穿越流量告警运营分析篇
  • Spring Boot整合RocketMQ
  • SSH秘钥登录服务器
  • Mybatis 动态 SQL - if
  • day44 1228
  • STM32 基础知识(探索者开发板)--93讲 PWM
  • 65.乐理基础-打拍子-前附点、后附点
  • Redis实现限流
  • 数字调制学习总结
  • R语言中的函数28:Reduce(), Filter(), Find(), Map(), Negate(), Position()
  • cpp_07_类型转换构造_析构函数_深拷贝_静态成员
  • 面试官:BIO、NIO、AIO的区别
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 《剑指offer》分解让复杂问题更简单
  • Asm.js的简单介绍
  • docker-consul
  • IndexedDB
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • PAT A1092
  • Shadow DOM 内部构造及如何构建独立组件
  • Vue.js 移动端适配之 vw 解决方案
  • webgl (原生)基础入门指南【一】
  • 测试如何在敏捷团队中工作?
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 对超线程几个不同角度的解释
  • 分布式任务队列Celery
  • 移动端 h5开发相关内容总结(三)
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​flutter 代码混淆
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (一)Thymeleaf用法——Thymeleaf简介
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net FrameWork简介,数组,枚举
  • .net MySql
  • .NET Remoting学习笔记(三)信道
  • .net 中viewstate的原理和使用
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net快速开发框架源码分享
  • .sh
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @ComponentScan比较
  • @Valid和@NotNull字段校验使用
  • [1]-基于图搜索的路径规划基础
  • [20170728]oracle保留字.txt
  • [20190416]完善shared latch测试脚本2.txt
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [AIGC 大数据基础]hive浅谈
  • [Android]使用Git将项目提交到GitHub
  • [BZOJ] 2044: 三维导弹拦截