ZF2入门:Ubuntu/Linux环境下从零开始Zend Framework 2.0 (ZF2)环境搭建

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

原文:http://avnpc.com/pages/zend-framework-2-installation-for-linux-ubuntu

日志未经声明,均为AlloVince原创。版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可。

紧接上一篇ZF2入门:Windows环境下从零开始Zend Framework 2.0 (ZF2)环境搭建,本次是Linux/Ubuntu环境下从零开始搭建系统并运行一个ZF2项目的全过程

写日志的Linux用的是Ubuntu12.04 LTS 32bit版本,为了简化整个过程,没有直接编译,全部采用了apt-get安装软件包。另外本次为了更全的覆盖可能的情况,服务器采用了Nginx,代码部署直接采用Git,Windows下同样可以借鉴本篇的配置。

日志直接以root身份运行,普通用户记得在所有指令前加sudo

一、Nginx + MySQL + PHP5.3环境搭建

Ubuntu12.04 LTS通过apt安装的默认php版本是5.3.10,php5.4需要编译安装,鉴于php5.3.10运行ZF2已经足够,所以本次就不再考虑php5.4的情况。

apt-get update
apt-get upgrade
apt-get install mysql-server mysql-client nginx php5-fpm php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-mcrypt php5-memcached git git-core

安装完毕后运行

service nginx start

然后访问http://localhost应该就可以看到Nginx的Hello World了。

二、部署代码

个人习惯将www目录放在/opt/htdocs,请根据环境目录不同对应调整下面的路径及配置:

cd /opt
mkdir htdocs
cd htdocs
git clone git://github.com/zendframework/ZendSkeletonApplication.git zf2
cd zf2
git submodule update --init

短短几行指令,代码就已经部署好了。

三、绑定域名

vi /etc/hosts

同样可以添加任意开发环境用域名:

127.0.0.1       zf2.local
127.0.0.1       www.zf2.local

可以访问 http://zf2.local 测试是否已经生效。

编辑Nginx配置文件

vi /etc/nginx/sites-enabled/default

修改为

server {
        listen   80 default;
        index index.html index.htm;
        server_name localhost;

        location / {
                root /opt/htdocs;
                index index.php index.html index.htm;
                try_files $uri $uri/ /index.html;
        }

        location ~ \.php {
                include fastcgi_params;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /opt/htdocs$fastcgi_script_name;
        }

}


server {
        listen   80;
        server_name  zf2.local www.zf2.local;
        location / {
                root  /opt/htdocs/zf2/public;
                index index.php index.html index.htm;
                if (!-e $request_filename){
                        rewrite ^/(.*)$ /index.php last;
                }
        }
        location ~ \.php$ {
                include fastcgi_params;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /opt/htdocs/zf2/public/$fastcgi_script_name;
        }
}

上半段是将Nginx的www根目录更改为/opt/htdocs。下半段是将zf2.local测试域名绑定到/opt/htdocs/zf2/public

重启Nginx服务

service nginx restart

在浏览器中重新访问 http://zf2.local 就可以打开ZendSkeletonApplication测试程序了。

至此,一个Ubuntu下最基本的ZF2项目连同环境已经搭建完毕,可以去修改zf2的项目代码去开始一个自己的项目了。其他Linux发行版可以类推,CentOS同样可以很方便的用Yum安装。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
25 4
|
18天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
15 3
|
2月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
321 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
170 4
Linux系统之Ubuntu安装cockpit管理工具
|
28天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
68 3
|
28天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
35 3
|
1月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
63 3
|
2月前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
69 6
|
1月前
|
Linux UED iOS开发
|
2月前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
49 3