本地搭建php包依赖管理工具,使用satis搭建私有composer仓库

一、总体设计

在这里插入图片描述

  • dns服务器
  • nginx
  • satis web 静态页面
  • satis manage 管理程序

二、nginx配置

1、nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 4096;include             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen       80;listen       [::]:80;server_name  _;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
}

2、composer.conf

具体应用的配置,一般都是保存在路径/etc/nginx/conf.d。

在这里插入图片描述

server {listen 80;server_name composer.xx.com;set $root_path '/opt/satis/web';index index.html;root $root_path;autoindex on;access_log off;error_log off;location /api/ {proxy_pass http://localhost:8081;}}
  • satis静态页面对应目录/opt/satis/web
  • /api开头接口,转发到后端8081服务(即satis manage管理程序)

3、查看端口8081

端口8081对应的进程号是1342

[root@php_data conf.d]# ss -anlp | grep 8081
tcp    LISTEN     0      128    [::]:8081               [::]:*                   users:(("manage",pid=1342,fd=3))

在这里插入图片描述

根据进程号,进一步查看进程启动命令。

也即satis_manage
在这里插入图片描述

[root@php_data conf.d]# ps -ef | grep 1342
root      1342  1301  0 Jul28 ?        00:00:18 /opt/satis_manage/manage

下一步,我们将进入/opt/satis_manage,查看其配置。

三、satis_manage 管理程序

[root@php_data satis_manage]# ll /opt/satis_manage
total 17556
drwxr-xr-x 2 root root        42 Oct 31 08:49 conf
-rwxr-xr-x 1  501 games 17964865 Dec 15  2021 manage
-rw-r--r-- 1 root root     11742 Jul 28 08:47 supervisor.log

在这里插入图片描述
manage 是一个可执行应用程序。

看下conf的配置:
在这里插入图片描述

  • app.conf
AppName = satis_manage
HttpPort = 8081
RunMode = Prod
AutoRender = false
CopyRequestBody = true
# EnableDocs = true
EnableAdmin = true[satis]
configPath = "/opt/satis/satis.json"
buildShell = "/opt/satis/build.sh"

四、satis

在这里插入图片描述

1、build.sh

#/bin/bash
/usr/bin/php72 /opt/satis/bin/satis build /opt/satis/satis.json /opt/satis/web

2、satis.json

{"name": "私有Composer","homepage": "http://composer.xx.com","repositories": [{"type": "vcs","url": "git@192.168.50.25:php/lib-base.git"},{"type": "vcs","url": "git@192.168.50.25:php/serv-tp.git"},{"type": "vcs","url": "git@192.168.50.25:php/lib-auth.git"},{"type": "vcs","url": "git@192.168.50.25:php/lib-common-service-client.git"}],"config": {"secure-http": false}
}

在这里插入图片描述

五、验证

浏览器访问http://{ip} 默认80端口。

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

  • composer install --no-dev --ignore-platform-reqs --no-suggest -v

从私库下载二方包。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1093.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试学习笔记丨SeleniumPO模式

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22525 本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 说明:本篇博客基于sel…

Ubuntu-22.04 虚拟机安装

1. Ubuntu安装方式 1.1. 基于物理介质安装 光盘安装:通过将 Ubuntu 镜像刻录到光盘,在计算机 BIOS/UEFI 中设置光盘为第一启动项,然后按照安装程序的提示进行语言选择、分区、用户信息设置等操作来完成安装。这种方式需要有光盘刻录设备和空…

软件设计师-上午题-12、13 软件工程(11分)

软件工程题号一般为17-19和29-36题,分值一般为11分。 目录 1 软件过程 1.1 CMM(能力成熟度模型) 1.1.1 真题 1.2 CMMI(能力成熟度模型集成) 1.2.1 真题 2 软件过程模型 2.1 瀑布模型 2.2 V模型 2.2.1 真题 2.3 增量模型 2.3.1 真题 2.4 演化模型 2.5 …

Bartender 5 for Mac 菜单栏管理软件 安装教程【保姆级教程,操作简单小白轻松上手使用】

Mac分享吧 文章目录 Bartender 5 for Mac 菜单栏管理软件 安装完成,软件打开效果一、Bartender 5 菜单栏管理软件 Mac电脑版——v5.2.3⚠️注意事项:1️⃣:下载软件2️⃣:安装软件3️⃣:打开软件,根据自己…

C#/.NET/.NET Core优秀项目和框架2024年10月简报

前言 每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看…

OWASP TOP10 OSS 风险:开源软件安全指南

OWASP OSS 列表提供了旨在绕过 CVE 目录等滞后指标的建议,并为安全从业者提供了安全使用 OSS 组件的指南。 在最近的一些暴露的漏洞和风险之后,对开源软件 (OSS)的安全和使用方式进行批判性审视的呼声越来越高,特别是 …

数据转换 | Matlab基于SP符号递归图(Symbolic recurrence plots)一维数据转二维图像方法

目录 基本介绍程序设计参考资料获取方式 基本介绍 Matlab基于SP符号递归图(Symbolic recurrence plots)一维数据转二维图像方法 符号递归图(Symbolic recurrence plots)是一种一维时间序列转图像的技术,可用于平稳和非平稳数据集;对噪声具有…

01.如何用DDD重构老项目

学习资料来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 动机DDD与重构实践重构? 重写从一开始就采用DDD重构步骤1. 添加领域模块2.分离出有价值的代码3.迁移到领域模块4.重复2,3 动机 …

【uni-app】创建自定义模板

1. 步骤 打开自定义模板文件夹 在此文件夹下创建模板文件(注意后缀名) 重新点击“新建页面” 即可看到新建的模板 2. 注意事项 创建的模板必须文件类型对应(vue模板就创建*.vue文件, uvue模板就创建*.uvue文件)

本地部署开源在线即时通讯软件Fiora打造个人私密聊天室

文章目录 前言1.关于Fiora2.安装Docker3.本地部署Fiora4.使用Fiora5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址 前言 相信大家在聊天时候总是很没安全感,比如在和小姐妹背着男朋友聊一些不能说的坏话,或者背着女朋友和兄…

【开发工具——依赖管理工具——Maven】

1. Maven介绍 Apache Maven 的本质是一个软件项目管理和理解工具。基于项目对象模型 (Project Object Model,POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。 对于开发者来说,Maven 的主要作用主要有 3 个: …

bootstrap应用2——计算第n个观测在(or 不在)自助法样本里的概率

#计算第四个观测在自助法样本里的概率 store<-rep(NA,10000) for (i in 1:10000){store[i]<-sum(sample(1:100,repTRUE)4)>0 } #讨论第四个观测 mean(store) #计算第n个观测在自助法样本里的概率 boot <- function(n, N){return(1-(1-1/N)^N) }#计算第n个观测在自助…

基于 GADF+Swin-CNN-GAM 的高创新扰动信号识别模型!

往期精彩内容&#xff1a; Python-电能质量扰动信号数据介绍与分类-CSDN博客 Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(三)基于Transformer的一…

Docker可视化工具 Portainer 安装及配置

文章目录 拉取镜像安装和启动容器访问 Portainer设置密码完后即代表安装完毕安装完成 拉取镜像 rootyx-PowerEdge-R730:~# docker pull portainer/portainer Using default tag: latest latest: Pulling from portainer/portainer Digest: sha256:47b064434edf437badf7337e516…

废品回收小程序搭建,互联网回收行业的特点

随着社会经济的快速发展&#xff0c;人们的生活水平大幅提高&#xff0c;废品、可回收物也在逐年增加&#xff0c;为行业的发展提高了基础。同时&#xff0c;国家对回收行业的扶持力度在不断增加&#xff0c;废品回收市场拥有广阔的发展机遇。对于入局者来说&#xff0c;行业隐…

【JAVA 笔记】08 ch05_program_control_structure

第5章 程序控制结构 程序流程控制介绍 if 分支 switch 分支结构 for 循环控制 while 循环控制 do..while 循环控制 跳转控制语句-break 跳转控制语句-continue 跳转控制语句-return 第5章 程序控制结构 程序流程控制介绍 顺序控制 分支控制 循环控制 if 分支 switch 分支结…

配置elk插件安全访问elk前台页面

编辑els配置文件vim elasticsearch.yml,添加以下配置文件 用elk用户&#xff0c;启动els服务 关闭防火墙&#xff0c;查看els启动是否成功&#xff0c;通过是否启动java进程来判断 或者通过查看是否启动9200和9300端口来判断是否启动 交互模式启动密码配置文件interactive表示交…

vscode通过.vscode/launch.json 内置php服务启动thinkphp 应用后无法加载路由解决方法

我们在使用vscode的 .vscode/launch.json Launch built-in server and debug 启动thinkphp应用后默认是未加载thinkphp的路由文件的&#xff0c; 这个就导致了&#xff0c;某些thinkphp的一些url路由无法访问的情况&#xff0c; 如http://0.0.0.0:8000/api/auth.admin/info这…

第三十章 章节练习商品列表组件封装

目录 一、需求说明 二、技术要点 三、完整代码 3.1. main.js 3.2. App.vue 3.3. MyTable.vue 3.4. MyTag.vue 一、需求说明 1. my-tag 标签组件封装 (1) 双击显示输入框&#xff0c;输入框获取焦点 (2) 失去焦点&#xff0c;隐藏输入框 (3) 回显标签信息 (4) 内…

Zypher Network:全栈式 Web3 游戏引擎,服务器抽象叙事的领导者

近期&#xff0c;《黑神话&#xff1a;悟空》的爆火不仅让 AAA 游戏重回焦点&#xff0c;也引发了玩家与开发者的热议。Web2 游戏的持续成功导致部分 Web3 玩家们的倒戈&#xff0c;对比之下 Web3 游戏存在生命周期短且商业模式难以明确的问题&#xff0c;尤其在当前加密市场环…