1.下载源码

https://github.com/composer/packagist

2.修改配置文件

cp app/config/parameters.yml.dist  app/config/parameters.yml

数据库的信息填写以下,github的key填写一下(我是随意写的)

3.安装composer

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer

4.安装intl扩展

wget http://download.icu-project.org/files/icu4c/53.1/icu4c-53_1-src.tgz
tar -xzf icu4c-53_1-src.tgz
cd icu/source
./configure –prefix=/usr/local/icu
make
make install

pecl install intl

5.下载packagist依赖

因为packagist的项目也是用composer管理的所以这里运行一下composer install就可以了

6.建立数据库和部署WEB

app/console doctrine:schema:create

app/console assets:install web

7.修改NGINX conf

location ~ ^/(css|js|font|js|bundles)/ {
  root /home/deploy/packagist/web;
}

location / {
  try_files $uri /app.php$is_args$args;
}

location ~ ^/app\.php(/|$) {

  root /home/deploy/packagist/web;
  fastcgi_pass 10.83.68.139:9000;
  fastcgi_split_path_info ^(.+\.php)(/.*)$;
  fastcgi_index app.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
}

8.提交你的REPO

访问 http://localhost/app.php 注册账号,输入你的git的repo地址,我这里用的是自己搭建的gitlab,所以地址填写的是gitlab的地址,提交的的项目需要有composer.json文件提供项目信息,格式在这里 https://getcomposer.org/doc/04-schema.md

注意:

(1).确保可以使fpm的用户可以git clone代码,需要配置deploy key

(2).你自己的项目如果想应用composer首先你提交到packagist的项目的类命名规范要符合PSR-0或者PSR-4,如果不符合就只能用CLASSMAP了,项目当与每次BUILD的时候生成一次CLASS和FILE的对应关系,以后根据这个来加载,从官方的项目上来看大多数都是PSR-0这种规则

9.修改composer的配置文件,从你的packagist私服拉包

提交到packagist中的项目都加上这句

"repositories": [
{"type": "composer", "url": "http://localhost"},        //composer这里会自动去找http://localhost/packags.json这个文件
{"packagist": false}                                               //不从源拉包
]

10.composer 推进了PHP代码规范的统一

composer不仅仅是一个打包工具,他还按照PSR的规范,统一了PHP代码的加载规则,使得所有packagist中的PHP项目有了唯一的项目名,类的命名空间等,可以在这些项目之间互相引用。

搭建packagist私服和composer的更多相关文章

  1. 用nexus搭建maven私服

    首先介绍一下背景,公司访问外网有限制,项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上 环 ...

  2. 搭建Maven私服

    最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...

  3. Maven学习 (四) 使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

  4. Maven-004-使用 Nexus 搭建 maven 私服

    从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...

  5. Maven学习总结(九)——使用Nexus搭建Maven私服

    一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建n ...

  6. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

  7. Linux_Centos中搭建nexus私服

    1.在Linux下搭建Nexus私服 1).下载并且解压      下载  nexus-2.11.2-03-bundle.zip      unzip nexus-2.11.2-03-bundle.z ...

  8. Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...

  9. Maven——使用Nexus搭建Maven私服

    原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...

随机推荐

  1. mysql数据库知识

    学而时习之,不亦说乎!                              --<论语> 数据库所有操作的总结.   1.mysql的数据库服务为mysqld.exe   windo ...

  2. 多个git库的ssh配置

    当拥有多个git服务器,而且都是用ssh认证方式时,需要在~/.ssh下的config文件做如下配置 如下:第一个为本地git库,第二个为github库,第三个为默认git库 Host 192.168 ...

  3. centos 安装xrdp远程连接桌面

    1. 安装epel库,否则无法安装xrdp yum install epel-release 2.安装 xrdp yum install xrdp 3. 安装tigervnc-server yum i ...

  4. innoback 参数及使用说明

    --defaults-file 同xtrabackup的--defaults-file参数,指定mysql配置文件; --apply-log 对xtrabackup的--prepare参数的封装; - ...

  5. (转)2017年最新企业面试题之shell(一,二)

    2017年最新企业面试题之shell(一) ********************************************** 企业Shell面试题1:批量生成随机字符文件名案例 * *** ...

  6. 精选9个值得学习的 HTML5 效果

    此文转自:http://www.cnblogs.com/lhb25/p/9-html5-effects.html,仅供本人学习参考,版权归原作者所有! 精选9个值得学习的 HTML5 效果[附源码] ...

  7. s-2、charles 入门

    本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https ...

  8. DJango小总结二

    1.Django请求的生命周期    武彦涛:        路由系统 -> 试图函数(获取模板+数据=>渲染) -> 字符串返回给用户        2.路由系统    王腾:   ...

  9. CSP学习之CryptoAPI初识

    Crypto API目的就是提供开发者在windows下使用PKI的编程接口. Crypto 提供了很多的加解密相关函数,如编码.解码.加密解密,哈希,数字证书.证书管理证书存储等.       有关 ...

  10. vue——介绍和使用

    一.vue介绍 vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式的JavaScript框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. ...