一步一步搭建 PHP 服务器环境
发布时间:2022-10-13 11:11:22 所属栏目:PHP教程 来源:
导读: 这两天翻了翻之前的技术文档,发现有一篇值得拿出来和大家分享:如何给一台全新的阿里云服务器,搭建环境 —— 来部署 PHP 项目,Node.js 项目等。
让我们开始吧:
1. 利用 Docker 制
让我们开始吧:
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) 其中一些库依赖于其他库。 (编辑:开发网_新乡站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐