在你的电脑上,应该有个 Web 开发环境,在上面去开发你想要的网站。完成以后可以把网站迁移到服务器上,在服务器也要搭建一个网站运行的环境,这个服务器上的环境叫生产环境。大部分情况,你也需要自己去搭建这个服务器上的生产环境。你的生产环境要在 Linux 类型的操作系统上搭建,比如 Ubuntu,CentOS ... 所以,尽早熟悉 Linux 系统的基本操作,熟悉在命令行下面去做事。
网站最终要运行在生产环境上,你在本地开发它的时候,最好可以为网站搭建一个跟生产环境相近的环境,比如用同样的操作系统,同样版本的软件,同样的设置等等。建议在本地电脑上安装虚拟机,为虚拟机安装 Linux 类型的操作系统,然后在上面安装和配置运行网站需要的软件,比如 Web 服务器,PHP,数据库等等。想要更好的管理虚拟机,推荐使用 Vagrant 。
放弃用一键安装的东西来搭建本地的开发环境,比如 WAMP,MAMP,XAMPP!暂时放弃在服务器的生产环境上安装管理面板。亲自动手,去搭建这个运行环境。
这个网站运行的环境在本地,还有在服务器上搭建的方法是差不多的,就是去安装一些需要的软件,然后通过修改配置文件来改变这些软件的行为。
在视频里安装的软件,版本可能会比现在要低,所以,注意看视频里介绍的方法,然后用这些方法试着去配置一个下面这样的开发环境:
你要用来开发网站的电脑,可以是 PC ,也可以是 Mac 。如果是 PC ,建议操作系统是 Windows 8.1 以上。
大部分工作都是在命令行界面进行的,Windows 可以使用 Powershell ,OSX 使用系统自带的 Terminal(终端)。
先在电脑上安装好 Vagrant 与 Virtualbox ,推荐使用系统的包管理工具安装,Windows 用 Chocolatey,Mac 可以用 Homebrew。也可以直接去下载它们再手工去安装。然后去添加 Box,Box 是 Vagrant 用来打包发行虚拟机的一种格式,它里面包含了虚拟机操作系统的镜像,还有些其它的东西。在 Vagrant 云上,可以找到别人做好的 Box ,我们可以在命令行下面,去下载这些 Box 。我推荐使用 chef/centos-7.0 这个 Box,在百度云盘(http://pan.baidu.com/s/1qWmc18S)可以把它下载到本地电脑上,然后用 vagrant add 去添加这个 Box(vagrant box add chef/centos-7.0 centos-7.0_chef.box) 。
有了 Box 以后,在用 vagrant init 命令初始化项目的时候,可以使用这个 Box。启动虚拟机用的是 vagrant up 命令,然后用 vagrant ssh 命令登录到虚拟机,这就相当于是登录到了一台 Linux 系统的服务器,确切的说应该是 CentOS 7 这个操作系统。Windows 用户在连接虚拟机的时候,要使用 Putty 这个软件,主机输入 127.0.0.1,端口号是 2200 或 2222 ,用户名是 vagrant,登录的密码也是 vagrant 。
文章
视频
虚拟机的配置是通过一个叫 Vagrantfile 的文件来设置的,这个文件在初始化项目以后会被自动创建,用文本编辑软件可以打开这个文件去编辑它。这一章介绍了配置虚拟机与主机之间的共享目录,还有虚拟机的网络设置。
把文件放到这个共享目录里面,你可以在虚拟机上找到它们,在虚拟机上修改这些文件,在本地电脑上也会看到修改以后的结果,这样我们就可以把网站放到这个共享目录里面,在本地去编辑,在虚拟机上去运行它。
网络的配置决定了虚拟机与主机之间的沟通方式,设置成私有网络,就是把虚拟机与主机之间建立起一个私有的网络,其它人不能通过网络访问虚拟机,只能通过主机访问虚拟机。设置成共有网络的话,除了主机以外,网络内的其它设备也可以访问到虚拟机。
有时候一个网站项目可能需要用到多台服务器,比如 Web 服务,搜索功能,数据库都单独放到一台服务器上。我们在本地也可以虚拟出这样的环境,就是通过 Vagrant 的 Multi-Machine,多机功能。也就是,你可以在一个 Vagrantfile 文件里面,定义多个虚拟机,每台虚拟机都可以有自己的设置,比如共享目录,网络,主机名等等。
现在,启动一台虚拟机(vagrant up),然后用 SSH 连接(vagrant ssh)上去,下面在我们的 CentOS 系统的虚拟机上去练习一些基本的命令。
一个可以运行 PHP 语言写的网站的环境的基本组成是:Web 服务器,PHP 解释器,数据库管理系统。Web 服务器可以使用 nginx 搭建,PHP 解释器用来解释 PHP 语言,根据用户的请求作为反应。nginx 不能直接跟 PHP 沟通,它们之间需要一个中介,这就是 php-fpm,nginx 与 php-fpm 会使用 Fast-CGI 协议进行交流。数据库管理系统,就是管理数据库用的一套系统,比如 MySQL / MariaDB,PostgreSQL 等等,大部分 PHP 网站用的都是 MySQL / MariaDB 这个系统,MariaDB 跟 MySQL 是一回事。
这个环境的大概工作流程是这样的:客户用浏览器发生请求,Web 服务器(nginx)收到请求,如果请求的是静态的资源,就直接给客户返回需要的资源,如果请求的是 php,nginx 会把请求交给 php-fpm 去处理,php-fpm 开始执行 php ,可能会有一些数据库的操作,比如去查找出一些内容,处理好以后,php-fpm 会把结果返回给 nginx,nginx 收到以后,又会把结果返回给客户(浏览器)那里。
在本地搭建这个运行环境来开发网站,跟在服务器上搭建生产环境去运行网站是差不多的。注意看视频的时候,不要只模仿每一步的操作,理解动作背后的意思。
文章
视频
现在,在本地已经有了一个可以运行 PHP 应用的开发环境,下面在这个环境上去运行一下 WordPress 还有 Drupal 。我们使用命令行工具去安装它们,WordPress 会用到 WP-CLI,Drupal 会用到 Drush,它们是日常维护 WordPress 与 Drupal 必备的工具。
文章
WordPress
Drupal
把配置好的虚拟机,可以重新打包,下次如果有其它的网站项目用的是同样的运行环境,你就可以使用这个自己制作的 Box 去初始化项目。
重新打包 - package 04:27
购买一台云服务器,不管是阿里云,腾讯云,还是其它的云。基本的操作都是一样的,你可以为服务器选择操作系统,带宽,CPU,内存,以后还可以很方便的去升级它们。有了服务器以后,你需要用 ssh 连接到服务器,这样就可以去控制服务器了,比如在上面去搭建一个可以运行网站的环境,搭建这个环境的方法跟在本地虚拟机上的操作基本都是一样的。
下面的视频里介绍了在阿里云购买服务器,控制服务器。这些方法同样适用在其它的云服务商那里购买的云服务器,只要为服务器选择的操作系统是 CentOS 就行。
参考上面的在本地虚拟机上配置运行环境的方法跟流程。
上面的文章与视频,可以帮助你理解下面这些步骤的意思。
dp8.ninghao.dev.conf 文件里的内容:
server { listen 80; server_name dp8.ninghao.dev; root /vagrant/drupal8/public; index index.php index.html index.htm; location / { index index.php index.html index.htm; try_files $uri @rewrite; } location @rewrite { rewrite ^ /index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }}
联系客服