Dataverse生产环境部署方案

该方案与之前开发阶段部署方案的不同之处在于,所有支撑系统运行的环境都需要一步一步的安装和配置,不是采用vagrant方式直接还原开发环境进行部署。

运行环境

1.操作系统

本方案基于64位centos7.4实施部署。
注意开放端口如下表:

应用端口
dataverse8080
galssfish4848
postgres5432
solr8983

防火墙相关命令:
# systemctl start firewalld 启动(临时,重启后失效)
# systemctl stop firewalld 关闭(临时,重启后失效)
# systemctl status firewalld 查看防火墙状态
# systemctl disable firewalld 禁止开机启动
# systemctl enable firewalld 启用开机启动

2. Java

安装JDK1.8版本,可以是oracle或openJDK。
下载oracle-jdk安装包(jdk-8u181-linux-x64.rpm)放至服务器,进入文件目录执行命令:
# yum localinstall jdk-8u181-linux-x64.rpm
安装openjdk:
# yum install java-1.8.0-openjdk-devel
验证查看版本:
# java -version

3.Glassfish

我使用的dataverse4.8.6版本,官方建议选择glassfish4.1版本运行。

  • 下载zip包解压到/usr/local
    # wget http://dlc-cdn.sun.com/glassfish/4.1/release/glassfish-4.1.zip
    # unzip glassfish-4.1.zip
    # mv glassfish4 /usr/local
  • 更新补丁包:
    # cd /usr/local/glassfish4/glassfish/modules
    # rm weld-osgi-bundle.jar
    # wget http://central.maven.org/maven2/org/jboss/weld/weld-osgi-bundle/2.2.10.SP1/weld-osgi-bundle-2.2.10.SP1-glassfish4.jar
  • 更新配置文件:
    # vim /usr/local/glassfish4/glassfish/domains/domain1/config/domain.xml
    <jvm-options>-client</jvm-options>中的-client改为-server
  • 启动并验证Weld版本:
    # /usr/local/glassfish4/bin/asadmin start-domain
    # /usr/local/glassfish4/bin/asadmin osgi lb | grep 'Weld OSGi Bundle'
  • 开启远程访问
    # cd home/glassfish/glassfish4/glassfish/
    # ./bin/asadmin stop-domain
    # ./bin/asadmin change-admin-password
    # ./bin/asadmin start-domain
    # ./bin/asadmin enable-secure-admin

控制台默认访问地址 :http://Sever_IP:4848

4.PostgreSQL

dataverse4.8.6版本,官方建议安装9.6版本。

  • 安装并设置系统服务:
    # yum install -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
    # yum makecache fast
    # yum install -y postgresql96-server
    # /usr/pgsql-9.6/bin/postgresql96-setup initdb
    # /usr/bin/systemctl start postgresql-9.6
    # /usr/bin/systemctl enable postgresql-9.6
  • 配置:
    如果postgresql与glassfish安装在同一台服务器,则可以将pg_hba.conf文件中内容调整:
    host all all 127.0.0.1/32 trust
    否则,不在同一服务器则增加:
    host all all [Glassfish-IP-Address] 255.255.255.255 md5
    需要开启远程访问增加:
    host all all [Guest-IP] trust
    如图所示,允许局域网内,192.168.1.0段的IP访问postgresql。
    pg_hb.conf配置
    还需要开启listen_address,在postgresql.conf文件中,修改配置:
    listen_addresses='*'
    重启postgresql,使配置生效:
    # systemctl restart postgresql-9.6

5.solr

安装solr,请先创建一个solr用户,dataverse4.8.6版本官方建议安装solr4.6.0。
从dataverse官网下载dvinstall.zip至/usr/local/src解压备用。

  • 新建用户和目录:
    # useradd solr
    # mkdir /usr/local/solr
    # chown solr:solr /usr/local/solr

  • 安装:
    # su - solr
    # cd /usr/local/solr
    # wget https://archive.apache.org/dist/lucene/solr/4.6.0/solr-4.6.0.tgz
    # tar xvzf solr-4.6.0.tgz
    # cd solr-4.6.0

  • 配置:
    将dvinstall.zip中解压出来的根目录下schema.xml覆盖至solr下的原始文件。
    # cp /usr/local/src/dvinstall/schema.xml /usr/local/solr/solr-4.6.0/example/solr/collection1/conf

安装配置完成后,可以进入目录/usr/local/solr/solr-4.6.0/example执行启动服务测试。
# java -jar start.jar
默认访问地址 :http://Server_IP:8983/solr

  • 创建开机启动服务:

创建启动脚本文件 solr,文件内容如下 :

#!/bin/sh
# Starts, stops, and restarts Apache Solr.
#
# chkconfig: 35 92 08
# description: Starts and stops Apache Solr
#服务具体位置
SOLR_DIR="/usr/local/solr/solr-4.6.0/example"
#服务启动命令
JAVA_OPTIONS="-Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=mustard -jar start.jar"
#服务日志文件位置
LOG_FILE="/usr/local/solr/solr-4.6.0/example/logs/solr.log"
#JAVA运行环境
JAVA="/usr/bin/java"

case $1 in
    start)
        echo "Starting Solr"
        cd $SOLR_DIR
        $JAVA $JAVA_OPTIONS 2> $LOG_FILE &
        ;;
    stop)
        echo "Stopping Solr"
        cd $SOLR_DIR
        $JAVA $JAVA_OPTIONS --stop
        ;;
    restart)
        $0 stop
        sleep 1
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}" >&2
        exit 1
        ;;
esac

将脚本文件放至/etc/init.d目录下,授权读写权限 :
# chown 755 solr
测试脚本执行效果 :
# /etc/init.d/solr start
如果执行报错,提示… … /bin/sh^M: bad interpreter: No such file or directory,则是因为你在windows下创建并编辑的脚本文件,默认fileformat为dos,需要通过vi命令修改为unix:
#vi solr
# :set ff 查看fileformat
# :set ff=unix 设置为unix
# :wq! 保存退出文件编辑

创建开机启动服务 :
# chkconfig --add solr

查看服务列表 :
# chkconfig --list
服务列表

6.jq

安装并验证是否成功 :
# cd /usr/bin
# wget http://stedolan.github.io/jq/download/linux64/jq
# chmod +x jq
# jq --version

7.ImageMagick

安装:
# yum install ImageMagick
默认安装位置是/usr/bin/convert,如果不在这里请将convert所在路径更新至Glassfish的jvm配置中
<jvm-options>-Ddataverse.path.imagemagick.convert=/opt/local/bin/convert</jvm-options>

8.部署Dataverse

进入dvinstall.zip解压目录 :
# cd /usr/local/src/dvinstall
# ./install
开始数据库初始化及系统初始化配置,基本都使用默认值,具体配置官方列表如下:

Internet Address of your host: localhost
Glassfish Directory: /usr/local/glassfish4
Glassfish User: current user running the installer script
Administrator email address for this Dataverse: (none)
SMTP (mail) server to relay notification messages: localhost
Postgres Server Address: [127.0.0.1]
Postgres Server Port: 5432
Postgres ADMIN password: secret
Name of the Postgres Database: dvndb
Name of the Postgres User: dvnapp
Postgres user password: secret
Remote Solr indexing service: LOCAL
Rserve Server: localhost
Rserve Server Port: 6311
Rserve User Name: rserve
Rserve User Password: rserve
Administration Email address for the installation;

注意,如果SMTP验证不通过,可以将install脚本中的校验SMTP部分注释掉直接跳过即可。

	elsif ($ENTRY eq 'MAIL_SERVER')
	{
#	    my $smtp_server = "";
#	    while (! &validate_smtp_server() )
#	    {
#		print "Enter a valid SMTP (mail) server:\n";
#		print "(Or ctrl-C to exit the installer): ";

#		$smtp_server = <>;
#		chop $smtp_server;

#		$CONFIG_DEFAULTS{'MAIL_SERVER'} = $smtp_server unless $smtp_server eq ''; 
#	    }
	}
    }

    print "\n";
}

遇到问题需要部署Dataverse,先删除dvndb数据库后,再重新执行install脚本。

数据库删除过程:
# su - postgres
# psql
# DROP DATABASE dvndb;
\q
exit

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值