在本地搭建一个 Web 开发环境,把你想创建的 Web 应用放到这个环境上去运行,比如你可以把 Drupal,WordPress,Laravel 放上去运行。搭建本地的开发环境可以作为学习 Web 开发的第一件要干的事。放弃所有一键安装的开发环境,比如 WAMP,XAMPP,MAMP ... 这些都过时了,听起来容易,但是对我们没什么好处。我们在本地创建一个虚拟机,虚拟机的操作系统可以跟你的 Web 应用正式运行的服务器的操作系统一样,比如可以使用 CentOS 或者 Ubuntu ,这台虚拟机用 Vagrant 去管理。
Web 应用在本地开发时候的运行环境,最好可以跟它正式运行的服务器环境,也就是生产环境一致。比如在你在生产环境,应用的 Web 服务器与数据库是两台不同的服务器,你在本地也可以模拟出这种情景,可以使用 Vagrant 为一个项目创建多台虚拟机。另外软件的版本也要保持一致,如果在生产环境上 Web 服务用 Nginx 提供,PHP 的版本是 5.6,在本地你也可以在虚拟机上安装 Nginx 的服务器,5.6 版本的 PHP。
在以后我们可能会用到 Docker,它可以把应用的各个组件分离出来,然后各自装箱(Container),比如把 Web 服务器放到一个箱子里,数据库放到一个箱子,缓存服务放到一个箱子,应用都是在这些箱子里运行的,你可以把这些箱子放到任何支持这些箱子的平台上去运行。这样你就不需要担心应用在不同的环境下的不同反应了,你知道你的应用是怎么运行的,因为是你自己装的箱,箱子里的结构是你自己设计的。
现在我们要做的,是熟悉 Linux 系统的基本的操作,你应该已经学会了怎么样用 Linux 的包管理工具去管理系统上的软件。下面,我们再去手工的在本地去配置一个可以让 Web 应用运行的环境。 这跟在服务器上搭建生产环境的过程是差不多的,比如在阿里云的 ECS 上搭建 Web 服务环境,下面我们在本地电脑上再重复一次。
文章里用的 Linux 虚拟机的系统是 CentOS 7.0。可以给 Vagrant 添加一个 chef/centos-7.0 这个 box,然后用这个 box 去初始化项目。在百度云盘下载这个 box :http://pan.baidu.com/s/1qWmc18S,centos-7.0_chef.box 。
准备虚拟机
学会用 Vagrant 管理虚拟机,知道怎么样配置主机跟虚拟机之间的共享目录与网络。具体的步骤:
1. 进入桌面。
cd ~/desktop
2. 为项目新建一个目录。
mkdir ninghao-project
3. 进入这个项目的目录。
cd ninghao-project
4. 查看可用的 box。
vagrant box list
5. 用列表中的 box 初始化项目,我有一个叫 chef/centos-7.0 的 box ,你需要自己去添加 CentOS 系统的 box,然后:
vagrant init chef/centos-7.0
6. 在项目下面新建一个叫 app 的目录,一会儿再把这个目录设置成跟虚拟机共享的目录。
mkdir app
7. 配置网络。打开项目目录下面的 Vagrantfile,添加下面的配置,设置一下虚拟机的网络,私有网络,IP 地址是 192.168.33.10。
config.vm.network "private_network", ip: "192.168.33.10"
8. 配置共享目录。再配置一下主机与虚拟机之间的共享目录,这个目录在主机上是项目下面的 app 目录,在虚拟机上的位置是 /vagrant。
config.vm.synced_folder "app", "/vagrant"
9. 启动虚拟机。
vagrant up
10. 连接到虚拟机。
vagrant ssh
注:Windows 用户用 Putty 工具连接到虚拟机。
添加仓库
下面我们去为系统添加两个仓库,epel 还有 ius,它们提供了更多可以通过包管理工具安装的软件包 。根据自己系统的类型与版本在这里下载:https://iuscommunity.org/pages/Repos.html。
cd ~ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-13.ius.centos7.noarch.rpm
用 wget 或 curl 命令可以把文件下载下来,文件的格式是 .rpm ,我下载的是用在 CentOS 7 上的软件包,把它们放到了用户主目录的下面。下面用 rpm 工具先去安装一个 epel-release,然后再安装一下 ius-release。需要管理员权限,可以使用 su 或者直接在命令前加上 sudo。
su rpm -ivh epel-release-7-5.noarch.rpm rpm -ivh ius-release-1.0-13.ius.centos7.noarch.rpm
查看一下系统上的仓库列表,你会看到 epel 还有 ius 这两个我们刚才安装的仓库。
yum repolist
返回:
源标识 源名称 base/7/x86_64 CentOS-7 - Base epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 extras/7/x86_64 CentOS-7 - Extras ius/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 updates/7/x86_64 CentOS-7 - Updates repolist: 17,373路径 CentOS
评论
这些不同的包有啥区别啊?还有repolist: 17,373这个数字是啥意思?
9 年 8 个月 以前
9 年 6 个月 以前
9 年 6 个月 以前
现在添加仓库epel 和 ius的方法改了,在centos下,添加epel直接用yum -y install epel-release,然后在下载添加ius仓库
官网说明:https://ius.io/GettingStarted/
8 年 11 个月 以前
非常感谢。
8 年 11 个月 以前