安装快速入门指南- Linux存档
你会得到什么?
这是一个关于如何使用Linux Archive安装为生产就绪环境准备Artifactory 7 HA的快速开始指南。在本指南中,我们将逐步设置Postgres外部数据库、多个人工节点和NGINX反向代理(也可以作为负载均衡器)。每个Artifactory节点至少需要一个服务器。注意,每个Artifactory节点都需要一个许可证。我们还建议准备一种云桶存储(例如S3)。要完全掌握本指南的内容,就需要很好地理解基于linux的操作系统。
的必备条件
受支持的linux发行版之一。
Debian 8。x, 9。x10.倍
Centos 7。倍、8.倍
RHEL 7。倍、8.倍
Ubuntu 16.04, 18.04, 20.04
以下端口需要在内部使用:8081、8082、8040、8045、8048、9092、8070、8086、8046、8047、8049、8091、8061、8062。8081和8082还需要在节点和您的LB/反向代理之间可以从外部访问。它们不需要暴露给最终用户。其他端口只需要在VM中可用,不被其他进程占用——其中一些端口是通过系统配置的。Yaml,如果它不能提供。
环境的细节
在安装Artifactory之前,请参考系统要求,了解支持的平台、支持的浏览器和其他要求。我们建议使用易于扩展的机器,以防Artifactory使用量增加。一般来说,一台拥有4核CPU、每个节点8GB RAM的机器就足够了。
查看更多节点硬件细节//m.si-fil.com/confluence/display/JFROG/System+Requirements
数据库
artifactory linux安装与derby数据库捆绑在一起。强烈建议使用外部数据库。绑定derby数据库的性能会随着工件数量的增加而降低。在这个快速入门指南中,我们将介绍Postgres的设置。
PostgreSQL支持:
- 9.5 (EOL)
- 9.6 (EOL很快)
- 10.倍
- 11.倍
- 12.倍
- 13.倍
外部Postgres设置:
1.登录到DB,执行如下命令:CREATE USER artifactory WITH PASSWORD2.下载与你的PostgreSQL版本相对应的JDBC驱动程序PostgreSQL JDBC驱动程序下载站点并将下载的jar文件复制到以下目录:
创建一个UTF8的数据库
授予数据库artifactory上的所有特权给artifactory;$ JFROG_HOME / artifactory / var /引导/ artifactory / tomcat / lib确保您的驱动程序具有所有用户的读权限。请注意,这个目录将在解压缩linux存档时创建,或者您可以预先创建它。
3.中调整数据库连接详细信息系统。Yaml配置文件(下图):共享:确保保持YAML间距一致!我们建议使用2或4个空格缩进,但要确保始终一致。
数据库:
类型:postgresql
司机:org.postgresql.Driver
Url: jdbc:postgresql://<你的db Url,例如:localhost:5432>/artifactory
用户名:artifactory
密码:密码
4.从Artifactory服务器启用PostgreSQL连接:
增加如下一行:< postgres_mount > /数据/ pg_hba.conf。将以下行添加到(如果已经存在,则更新它)
主机artifactory artifactory < postgres_mount > /数据/ postgresql.conf我们建议为数据库提供相当大的存储空间,即使它只存储元数据。它应该至少是您预期文件存储大小的2/10。
listen_addresses = ' * '
Artifactory支持多种数据库类型,包括mysql, oracle, mariaDB。你可以找到的链接其他支持的数据库下面是术语表。
有关更多数据库建议,请参见//m.si-fil.com/whitepaper/best-practices-for-managing-your-artifactory-database/
Filestore (S3)
二进制存储可以在美元JFROG_HOME / var / etc / artifactory / binarystore.xml下面是使用Amazon S3桶的示例配置。请注意,这个文件/目录将在解压缩linux存档时创建,或者您可以预先创建它。
S3v3 HA配置样例
<配置version = " 2 " >我们也为其他云提供商提供了其他配置模板:
<链模板= " cluster-s3-storage-v3 " / >
端点> < s3.amazonaws.com > < /端点
< bucketName > bucketName < / bucketName >
<路径> pathPrefix > < /路径
<地区> s3Region > < /地区
<标识> yourIdentity > < /身份
<凭证> yourCredentials < /证书>
真正< usePresigning > < / usePresigning >
600年< signatureExpirySeconds > < / signatureExpirySeconds >
< /提供者>
< / config >
//m.si-fil.com/confluence/display/JFROG/Configuring+the+Filestore#ConfiguringtheFilestore-ConfiguringShardingforHACluster
如果您想使用本地磁盘存储而不是S3,您可以使用:<配置version = " 2 " >
<链模板= "集群文件系统" / >
< / config >
下载位置
wget https://releases.jfrog.io/artifactory/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/(释放)/ jfrog-artifactory-pro - -linux.tar.gz(释放)
安装步骤
1.解压tar文件。
tar -xvf jfrog-artifactory-pro-\[RELEASE\]-linux.tar.gz
2.创建一个系统。yaml下:
。/ artifactory-pro * / var / etc / system.yaml
3.在system.yaml中增加如下功能开启HA:
共享:4.添加上面的DB/ binarstore .xml细节
extraJavaOpts: "-Xms512m -Xmx4g"
节点:
haEnabled:真
taskAffinity:任何
5.在其他节点上,复制到$JFROG_HOME/var/etc/security/master。键从第一个节点转移到相同位置。第一个节点将在第一次启动时自动生成该文件。
6.启动应用程序。Sudo bash ./artifactory-pro*/app/bin/artifactory.sh7.检查console.log,查看以下启动成功的打印输出2021-09-20T18:25:44.992Z [jfrou] [INFO] [470978b404ac5eac] [local_topology.]Go:270][主要]-
###############################################################
###所有服务在52.558秒内成功启动
###############################################################
8.一旦Artifactory启动,UI应该可以在端口8082上访问。通过运行以下REST API检查Artifactory是否处于HA模式,并在插件数组中查找“HA”:$ curl localhost:8082/artifactory/api/system/version -u admin:密码如果没有,则意味着Artifactory没有在HA模式下启动。另外,在启动期间,Artifactory-service.log还将打印出“Artifactory HA”的ASCII图。如果不在HA模式下,它将打印“Artifactory Pro”。
{
"version": "7.25.7",
"revision": "72507900",
"addons": ["ha",…
9.新节点要加入集群,这些节点必须连接到相同的数据库并具有相同的主密钥。要安装其他节点,重复这些步骤,还需要复制到$JFROG_HOME/var/etc/security/master。键从第一个节点移到附加上的相同位置。第一个节点将在第一次启动时自动生成该文件。如果您想提前生成自己的密钥,可以这样做按照这里的指南来做。
SSL
如果需要HTTPS,可以在Artifactory前设置nginx反向代理。反向代理配置可以在Artifactory UI中通过转到管理- > Artifactory - > HTTP设置.这将需要复制到你的nginx配置。你需要有自己的SSL证书和密钥,并将它们放在nginx配置中指定的正确目录中。下面是一个示例配置供参考。
###########################################################
这个配置是由JFrog Artifactory生成的
###########################################################
在配置中设置HTTPS时添加SSL项
TLSv1.1 TLSv1.2 TLSv1.3;
ssl_certificate /etc/ssl/private/server.key;
ssl_certificate_key /etc/ssl/private/server.crt;
ssl_session_cache共享:SSL: 1米;
ssl_prefer_server_ciphers;
##服务器配置
服务器{
监听443 ssl;
80;
server_name ~ \(? <回购>。+)。artifactory_host artifactory_host;
If ($http_x_forwarded_proto = ") {
设置$http_x_forwarded_proto $scheme;
}
##应用程序特定的日志
## access_log /var/log/nginx/artifactory_host-access.log计时;
##错误日志/var/log/nginx/artifactory_host-error.log;
重写^/$ /ui/ redirect;
重写^/ui$ /ui/重定向;
重写^ / (v1 | v2) / (. *) / artifactory / api /码头工人/回购美元/ 1 / 2美元;
chunked_transfer_encoding;
client_max_body_size 0;
位置/ {
proxy_read_timeout 2400年代;
proxy_pass_header服务器;
proxy_cookie_path ~ * ^ /。* /;
proxy_buffer_size 128 k;
Proxy_buffers 40 128k;
proxy_busy_buffers_size 128 k;
proxy_pass http://localhost: 8082;
proxy_set_header x - jfrog - overrides - base - url $http_x_forwarded_proto://$host:$server_port;
proxy_set_header x - forwarded port $server_port;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto
主机$http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
位置~ ^/artifactory/ {反向代理也可以配置为处理节点之间的负载均衡流量。在NGINX的例子中,你可以在顶部添加这段代码:
proxy_pass http://localhost: 8081;
}
}
}上游工艺品{否则,您可以使用专用的负载均衡器来处理流量均衡。
服务器10.150.0.222:8082;
服务器<附加节点IP>:8082;
}
上游手工-直接{
服务器10.150.0.222:8081;
服务器<附加节点IP>:8081;
}
然后,修改proxy_pass行为:proxy_pass http://localhost: 8082;→proxy_pass http://artifactory;请注意,为了支持docker请求,您需要一个反向代理或负载均衡器来处理请求重写。此外,如果你计划使用负载均衡器终止SSL,以及反向代理,你需要将以下头文件硬编码到负载均衡器的详细信息中:
proxy_pass http://localhost: 8081;→proxy_pass http://artifactory-direct;
NGINX的:proxy_set_header X-JFrog-Override-Base-Url https://
proxy_set_header X-Forwarded-Port
proxy_set_header X-Forwarded-Proto https
升级步骤
1.停止Artifactorycd $ JFROG_HOME / app / bin2.解压缩归档文件的内容并转到解压缩的文件夹。
/ artifactoryctl停止。Tar -xvf jfrog-artifactory-3.用新的app文件夹替换旧的app文件夹。#导出变量以简化命令
export JFROG_HOME=<您的JFrog主目录,例如/opt/ JFrog >
export JF_NEW_VERSION=<例如/opt/jfrog/artifactory-7.x> . export JF_NEW_VERSION=<以/opt/jfrog/artifactory-7.x为例
#删除旧应用程序
rm -rf $JFROG_HOME/app
#复制新应用
cp -r $JF_NEW_VERSION/app $JFROG_HOME
#删除提取的新版本4.启动Artifactory。
rm -rf $JF_NEW_VERSION$ JFROG_HOME / artifactory / app / bin / artifactoryctl开始| |停止检查5.对其他节点重复此步骤。
调优Artifactory(可选)
我们有以下可选的调优部分优化Artifactory为更重的负载-记住这些参数是个好主意,因为你的Artifactory实例承担了更多的负载。
1.javaOpts(堆大小)。Yaml -我们建议至少设置这个:共享:2.在system.yaml中定制数据库连接:
extraJavaOpts: "-Xms512m -Xmx4g"artifactory:
数据库:
maxOpenConnections: 200
访问:
数据库:
maxOpenConnections: 200
元数据:根据经验,我们需要(最多)一些DB连接,基于以下公式:
数据库:
maxOpenConnections: 200
总连接数=(节点数)* ((artifact .database. database.)maxOpenConnections * 2) + access.database.maxOpenConnections + metadata.database.maxOpenConnections) + 50
3.优化system.yaml中的Tomcat线程:artifactory:
tomcat:
连接器:
maxThreads: 400
访问:当修改Access maxThreads时,需要更新$JFROG_HOME/artifactory/var/etc/artifactory/artifactory.system。属性文件包含:
tomcat:
连接器:
maxThreads: 100artifactory.access.client.max.connections = 4.调优同一文件中的异步线程池。注意corePoolSize不能超过CPU核数的8倍:artifact .async. corepoolsize = 32
artifactory.async.poolMaxQueueSize = 100000
要开始使用该产品,您可以使用下面的指南:
快速入门指南:JFrog自托管
快速入门指南:开始
快速入门指南:Maven和Gradle
快速入门指南:npm
术语表
- - - - - -系统需求://m.si-fil.com/confluence/display/JFROG/System+Requirements
- - - - - -外部数据库://m.si-fil.com/confluence/display/JFROG/Configuring+the+Database
- - - - - -Postgresql数据库://m.si-fil.com/confluence/display/JFROG/PostgreSQL
- - - - - -Filestore://m.si-fil.com/confluence/display/JFROG/Configuring+the+Filestore
- - - - - -HTTPS设置://m.si-fil.com/confluence/display/JFROG/HTTP+Settings
- - - - - -NGINX安装:https://www.nginx.com/2022世界杯阿根廷预选赛赛程resources/wiki/start/topics/tutorials/install/
JFrog下载://m.si-fil.com/download-jfrog-platform/
- - - - - -Linux档案安装://m.si-fil.com/confluence/display/JFROG/Installing+Artifactory#InstallingArtifactory-LinuxArchiveInstallation
- - - - - -Linux档案升级://m.si-fil.com/confluence/display/JFROG/Upgrading+Artifactory#UpgradingArtifactory-LinuxArchiveUpgrade.1
