加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

一步一步搭建 PHP 服务器环境

发布时间:2022-10-13 11:11:22 所属栏目:PHP教程 来源:
导读:  这两天翻了翻之前的技术文档,发现有一篇值得拿出来和大家分享:如何给一台全新的阿里云服务器,搭建环境 —— 来部署 PHP 项目,Node.js 项目等。

  让我们开始吧:

  1. 利用 Docker 制
  这两天翻了翻之前的技术文档,发现有一篇值得拿出来和大家分享:如何给一台全新的阿里云服务器,搭建环境 —— 来部署 PHP 项目,Node.js 项目等。
 
  让我们开始吧:
 
  1. 利用 Docker 制作 Centos 服务器
 
  2. 安装 Nginx
 
  3. 安装 PHP 7
 
  4. 安装 composer
 
  5. 安装Node.js
 
  6. 安装 git 和 svn
 
  利用 Docker 制作 Centos 服务器
 
  因为我自己没有阿里云服务器,所以没法在真实的服务器上搭建环境;但我们可以利用 Docker 来模拟。
 
  首先需要一个 systemd 整合的 Centos 镜像。
 
  Dockerfile 内容如下所示:
 
  FROM daocloud.io/centos:7
  MAINTAINER "yemeishu" <[email?protected]>
  ENV container docker
  RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
  systemd-tmpfiles-setup.service ] || rm -f $i; done); \
  rm -f /lib/systemd/system/multi-user.target.wants/*;\
  rm -f /etc/systemd/system/*.wants/*;\
  rm -f /lib/systemd/system/local-fs.target.wants/*; \
  rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
  rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
  rm -f /lib/systemd/system/basic.target.wants/*;\
  rm -f /lib/systemd/system/anaconda.target.wants/*;
  VOLUME [ "/sys/fs/cgroup" ]
  CMD ["/usr/sbin/init"]
  然后就可以启动容器了,但这里要避免「运行Docker 使用systemctl报错」的问题,解决方案是:挂载 /sys/fs/cgroup 目录到容器的 /sys/fs/cgroup 目录并配置只读权限,但是docker run 命令只能使用-d参数,不能使用-it参数,使用-it参数仍然会卡死。
 
  docker run -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro local/centos7-systemd
  参考:
 
  运行容器:
 
  当我们运行 vim 想打开编辑某个文件时,发现 vim 并没有安装,这时候我们可以直接在容器中安装,但为了模拟的更彻底,我们再修改修改 Dockerfile 文件,让镜像带上 vim:
 
  FROM daocloud.io/centos:7
  MAINTAINER "yemeishu" <[email?protected]>
  ENV container docker
  RUN yum -y install vim-enhanced
  RUN yum -y install vim*
  RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
  systemd-tmpfiles-setup.service ] || rm -f $i; done); \
  rm -f /lib/systemd/system/multi-user.target.wants/*;\
  rm -f /etc/systemd/system/*.wants/*;\
  rm -f /lib/systemd/system/local-fs.target.wants/*; \
  rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
  rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
  rm -f /lib/systemd/system/basic.target.wants/*;\
  rm -f /lib/systemd/system/anaconda.target.wants/*;
  VOLUME [ "/sys/fs/cgroup" ]
  CMD ["/usr/sbin/init"]
  制作镜像,生成容器,运行容器,验证 vim 是否安装成功,直接看图:
 
  安装工具
 
  有了 「centos 服务器」了,我们开始配置 PHP (Laravel / Lumen) 环境了。
 
  安装 Nginx
 
  安装 Nginx 之前,我们需要修改 yum 源镜像php搭建,我们使用阿里云的,
 
  首先安装 wget:
 
  yum install wget -y
  # CentOS 5
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
  # CentOS 6
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  # CentOS 7
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  yum clean all
  yum -y install epel-release
  yum install nginx -y
  systemctl start nginx
  systemctl enable nginx // 开机自启动
  安装 PHP 7
 
  添加源:
 
  rpm  -Uvh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  rpm  -Uvh  https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  安装:
 
  yum  install  php70w -y
  安装常规需要使用的 php 插件:
 
  yum install php70w-json php70w-xml php70w-mbstring php70w-mysqlnd php70w-fpm -y
  安装 composer
 
  Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
 
  Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
 
  这种想法并不新鲜,Composer 受到了 node's npm 和 ruby's bundler 的强烈启发。而当时 PHP 下并没有类似的工具。
 
  Composer 将这样为你解决问题:
 
  a) 你有一个项目依赖于若干个库。
 
  b) 其中一些库依赖于其他库。
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!