告别集成开发环境,自由组合自己的开发工具

引言:最初接触web开发的时候,接触的就是wamp的集成开发环境,使用起来确实很方便,但是随着自己对web的认知越来越深刻,就开始逐渐的意识到,使用集成开发环境回有许多的不足,有时候它会蒙蔽住我的双眼,更有些时候出了点错误,都没有办法检查到底是什么地方发生了错误,于是我决定自己组合自己的开发工具,目的就是想对自己的工具了解的更加深刻,使用起来才能更加的得心应手。

一、准备工作

首先是准备工作,要安装的基本软件有php,mysql,nginx(虽然windows下对nginx的支持不是很够,但是为了与我的云主机的环境保持一致,我还是决定选择使用nginx)

apache可以暂时不安装,因为我并不准备用nginx做代理来配合apache

二、安装PHP

PHP是一款开源的软件,所谓的开源在英文中就是free,但是这里的free并不是说这款软件就是免费的意思,而是自由

自由应该是一种信仰,是每一个程序员都应该有的信仰

PHP的官方下载地址是http://windows.php.net/download

虽然现在PHP已经是升级到了PHP7.0,PHP7.0有许多非常有趣的新特性,主要有四种:

  1. 运算符合并       ??运算符等同于之前的 if(condition) ? $val1 : $val2

  2. 函数返回类型       支持函数返回类型声明,更加的严谨了

  3. 标量类型       可以声明标量类型,int string float bool等,越来越像C语言了

  4. 命名空间批量声明       5.3版本引入的命名空间可以批量声明了,告别复制粘贴

升级到7.0之后,PHP的性能会有一个质的飞跃,但是考虑到PHP7目前的扩展性不足,所以我还是决定选择5.6的版本

PHP 5.6 (5.6.21) VC11 x64 Non Thread Safe (2016-Apr-28 06:19:35)

这里选择版本的时候,有几个特别需要注意的概念  VC11  X64  NTS

VC11:指的是编译PHP源码的编译器,类似的还有VC11,VC9,VC6等,大家都知道PHP是用C语言编写的,所以必须要编译才能运行,windows一般都是已经编译好的可执行软件,但是在linux下就必须要自己进行编译了,以后安装扩展的时候尤其要注意编译器的类型,就像APACHE2.4至今还是用VC6进行编译的

X64:这个很简单,就是64位操作系统,x86一般指的是32位操作系统

NTS:Non thread Safe,非线程安全,另外一种叫TS,是thread safe线程安全。Windows下以CGI的形式运行PHP会比较缓慢,因为windows的工作方式是多线程的,而CGI却是以多进程的方式来进行工作的,所以如果以ISAPI的方式来运行PHP的话,就必须选择TS版本,如果以fastCGI运行则可以使用NTS版本,可以提高运行效率。

下载之后是一个zip的压缩包,解压到自己的安装目录,在我的电脑上是D:/wanmp/php目录下,然后配置好环境变量PHP就算是安装成功了

进入命令行进行检测,输入php –v(如果没有配置环境变量,则需要用cd命令进入到php.exe所在的目录),如果显示了php版本,就 说明已经成功的安装好了

(附:PHP5.4之后就已经内置了web服务器了,如果只想练习PHP脚本的话,服务器都可以不安装,运行命令php –S localhost:8080  参数-S一定要大写

三、安装mysql

安装mysql之前,有一个问题不得不去问自己,为什么要选择mysql,虽然数据库有多种多样,尤其是现在NOSQL的盛行,弥补了rdbms的不足之处,但是想要取代mysql还是有一段距离的。

Mysql在web应用方面是最好的RDBMS,体积小,速度快,与PHP,Apache有良好的配合,同时它可以根据二进制日志文件进行主从配置,还有最重要的一点,它是开源的。

只不过现在mysql已经被Oracle公司收购了,搞出了一个商业版的mysql,反正我是没用过,不过还有社区版可以免费下载,也是开源的。

下载地址是http://www.mysql.com/downloads/

到页面的底部选择MySQL Community Edition (mysql社区版)

然后选择MySQL Community Server(mysql社区服务器),由于在win7系统下,mysql5.7版本以上无法启动服务,所以要选择5.6或者之前的版本(说明Oracle公司真的没有用心在做这个mysql啊),

点击选择5.6的版本,进入到5.6版本的mysql下载页,这里有两种安装方式,一种是镜像安装,一种是免安装的zip压缩软件包

镜像安装比较方便,而且它只有32位操作系统,虽然64位操作系统可以运行绝大多数的32位软件,但是为了以防万一,我还是选择免安装形式的64位软件好了,虽然要多做一些配置,但是那样不至于到出错的时候我还得检查是不是位数的原因,

点击Windows (x86, 64-bit), ZIP Archive下载(这里会弹出需要登陆的操作,不要理会,直接点击最下面的No thanks, just start my download.就OK了)

然后解压缩到我的d:/wanmp/mysql目录下,顺便配置好环境变量,接下来就是安装mysql了

首先进入到mysql的目录下,找到mysql的安装目录,找到mysql的配置文件my-default.ini,需要指定mysql的基本目录和数据库安装目录,在[mysqld]下面添加这两行

basedir=D:wanmpmysqlmysql-5.7.12-winx64(mysql所在目录) 

datadir=D:wanmpmysqlmysql-5.7.12-winx64data (mysql所在目录data)

路径要根据自己安装的mysql的路径变化

接下来就是使用mysqld –install进行安装了,如果已经安装服务想要重装则需要运行mysqld remove命令, 这个地方在win7的系统中有个坑:

需要要用管理员身份运行cmd.exe才行,在开始菜单内搜索cmd,右键点击cms.exe,用管理员身份运行,然后进入到mysql的bin目录下,这里一定要进入到mysql的bin目录下执行命令,否则会导致服务无法启动,运行mysqld –install命令

出现Service successfully installed,说明安装成功了,接下来就是启动mysql服务,命令行下用net start mysql命令可以启动mysql服务(也可以从我的电脑->管理->服务处进行操作)

这样就是启动成功了,接下来用mysql的客户端命令mysql –uroot –p检测一下mysql是否安装成功了

四、安装nginx

Nginx是一个高性能的web服务器,功能丰富,既能做http服务器,也可以做反向代理服务器。虽然它仅仅一款比较轻量级的服务器,但是它能够在apache,IIS,tomcat等各种先驱们的挤压下,脱颖而出并迅速的占领了庞大的市场,可见这款服务器真的有它的独到之处。

Nginx也是开源的,下载地址是http://nginx.org/,这里选择nginx-1.9.15的版本进行下载,虽然windows对nginx的支持不足,但是为了与我的云主机环境一致,所以就用nginx的服务器了

下载完成后解压D:/wanmp/nginx,然后点击nginx.exe就能运行了,接着在浏览器中输入localhost,出现welcome to nginx字样就说明nginx安装成功了。

nginx在windows环境启动很简单,直接点击nginx.exe就可以执行了,重启的话使用命令就可以了

安装nginx比较简单,但是想要nginx与PHP配合的话就还需要多做一点配置,接下来就是要做一些相应的配置了

五、配置nginx与PHP

虽然nginx比较强大,但是它毕竟只是一款轻量级的服务器,没有apache那么全面,所以现在还有开启对php的解析支持,但是没有关系,我们可以把这个解析的过程直接代理给phpcgi,只要遇到服务器目录下.php后缀的文件,全都交给phpcgi即可

  1.  修改nginx.conf文件,打开nginx.conf文件,去掉65行到71行之间的关于fastcgi的注释,然后把修改fastcgi_param 后面的路径,需要把 scrip/$fastcgi_script_namet 改成你的根目录的绝对路径,

  (例如我的根目录就是d:/wnmp/nginx/html)否则会出现no input specified之类的错误(有些教程上说改成$document_root$fastcgi_script_name就可以,但是我试过了是行不通的)

  需要把配置好的root目录直接用绝对路径的形式,就像这样d:/wnmp/nginx/html/$fastcgi_script_name

  1. 进入到php的安装目录使用php-cgi.exe –b 127.0.0.1:9000 d:/wnmp/nginx/html/ 这个命令开启cgi解析php,之一cgi后面的目录参数一定要加上,而且必须是你的网站根目录,否则一样会解析不到

  2. 为了是启动服务更加的方便,这个时候你可以把这些启动和重启的命令写成bat文件,方便自己直接点击启动

尾语:

至此我的wnmp环境就是基本搭建完成了,接下来应该还需要安装缓存服务器memcache/redis,同时安装相应的扩展

不过这两款软件在官网不支持windows版本的下载,而我个人又不是很喜欢非官方渠道的安装,所以暂时作罢。

通过这一次的自由组合开发环境,使得我对我应该使用的工具更加的熟悉了,这是一个好的开始,工具就是自己手中的武器,熟悉自己手中的武器,才能成为一个合格的武者。

原文地址:https://www.cnblogs.com/crisenchou/p/5481103.html