作为一名web开发工程师,本地环境搭建是一项基本技能,相对而言,在window下面进行此类环境的搭建有许多现成的继承开发包,可实现快速的环境搭建,如:wampServer,、xampp、appserv等。但是我们运行的线上版本通常是采用linux操作系统的服务器,因此以linux为本地环境有利于线上代码部署与调试。
接下来,我将以linux为基础,搭建lnmp网站服务器架构!LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、 centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
在接下来的章节中,我们将会涉及到虚拟机下的linux(centos)操作系统安装,采用集成开发包lnmp实现nginx+mysql+php的安装和php升级、nginx+php安装与配置、mysql安装与配置、nginx虚拟主机配置、php扩展memcached、redis的安装等。
这一节的目标是实现在自己的电脑上采取虚拟机的方式安装上linux(centos)操作系统。这里将给大家介绍一个神器组合:vagrant+virtualbox,可以轻松的跨平台部署、实现文件共享。
1. 系统环境:
window7
2. 虚拟机软件:
Virtualbox => https://www.virtualbox.org/(下载地址)
Vagrant => http://www.vagrantup.com/(下载地址)
3. linux系统文件:
centos65-x86_64-20140116.box => http://www.vagrantbox.es/(下载地址,有许多系统文件,选择适合自己的)
1、下载安装
根据三中提供地址分别下载好virtualbox、vagrant安装包和centos系统文件。
windows下面分别安装好virtualbox、vagrant软件,windows下面的安装很简单,这里不多做介绍!
操作完成,重启系统完成安装!
2、创建工作目录
选择工作目录,将centos65-x86_64-20140116.box系统文件拷贝到文件目录下
例如:E:\tool\centos
3、设置环境
CMD=>进入DOS命令行界面,切换目录E:\tool\centos,命令操作步骤:
1). E:\tool\centos>vagrant box add base
centos65-x86_64-20140116.box
上面的命令含义为:vagrant 是vagrant的命令,box为参数,add为添加一个box环境,dev为你要创建的box环境名称,centos65-x86_64-20140116.box 为你下载的box环境镜像,这里可以是本地保存box的路径,也可以是可以下载box的网址,如果是网址的话,Vagrant会自动启动下载。
2). E:\tool\centos>vagrant init
初始化,生成对应的系统环境的配置文件Vagrantfile。这里介绍一些主要的配置项:
① 网络配置
a、端口映射,将虚拟机中的端口映射到宿主机对应的端口使用,在Vagrantfile中配置:
config.vm.network :forwarded_port, guest: 80, host: 8080guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
b、仅本地可访问虚拟机,使用private_network,虚拟机设置IP ,在Vagrantfile中配置:
config.vm.network :private_network, ip: "192.168.33.10"
虚拟机的IP 192.168.33.10,多台虚拟机的话需要互相访问的话,应设置在相同网段,如192.168.33.11。
c、将虚拟机作为当前局域网的一台计算机,由局域网进行DHCP或手动分配,在Vagrantfile中配置:
config.vm.network :public_network 或 config.vm.network :public_network, ip: "192.168.33.10"
② 目录映射:
通过目录映射,开发工作可以完全在本地完成,虚拟机仅在后台运行,将本地的目录映射到虚拟机的对应目录,而不需要ftp等复
杂的工具进行上传工作。默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在
/vagrant 下进行访问。
当然也可以在配置文件手动添加工作目录映射。
config.vm.synced_folder "../../www/", "/home/wwwroot/vagrant"
../../www/是本地目录,/home/wwwroot/vagrant/虚拟机中的目录,这个目录在接下来安装nginx后再创建。
③ 启动脚本
关于设置启动脚本,这里就不多做介绍,可以看一下这一行
a、设置启动命令
config.vm.provision "shell", inline <<-SHELL
echo "Welcome to Centos"
SHELL
b、设置启动脚本
config.vm.provision :shell, :path => "boot.sh"
综合以上,主要的配置完成
3). E:\tool\centos>vagrant up
执行以上命令启动虚拟机。
除去启动虚拟机,操作虚拟机命令还有以下:
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
出现问题,无法正常启动,开启virtualbox图形界面,查看启动信息。
在Vagrantfile中配置:
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
end
问题一:启动提示VT-x/AMD-V 硬件加速在您的系统中不可用。您的 64-位虚拟机将无法检测到 64-位处理器,从而无法启动。
解决方式:重新启动电脑,进入bios=>Securit=>Virtualization=>Enabled启动电脑支持虚拟化技术!
综合以上步骤,可以实现virtualbox+vagrant+centos系统安装工作!