首先,这系列的文章的受众是刚毕业想作网站开发,或者其余开发岗位想了解网站开发的入门教程,默认读者有计算机相关专业基础,会跳过不少基础,细节的原理本身百度或者以后我再补充,编程语言自身特征不会涉及不少。php
额,仍是简单自我介绍一下,我,华南农业大学软件工程专业毕业的理工男,2012年-2014年在广州一家叫凯兰高的创业公司工做两年多,主要是负责Nodejs服务器开发和技术团队管理,2014年8月本身尝试创业3个月以失败了结,2014年12月在南方周末新媒体担当了大半年的前端开发,开始接触php开发,2015年8月份离职至今,在一家传统行业b2b创业公司担任技术总监,资历尚浅,也不可能对全部编程语言和软件都了如指掌,理解透彻,讲得不对的地方还请你们指出。html
学习目标:前端
学习过程java
tomcatnode
iismysql
apachelinux
nginxnginx
首先,最简单的hello world网站其实并不须要mysql数据库,因此从最简单的开始配置,windows下的能够直接使用wamp(http://www.wampserver.com/)集成,为了这个教程,花了666个大洋买了阿里云的linux服务器,cenos7.0 64位。web
1. 下载apache,http://httpd.apache.org/,能够下载2.4.18版本的,安装流程详细可参考附件:sql
apache安装完毕以后,默认是安装在/usr/local/apache2,因此为了可以全局启动,建立了httpd的硬连接,ln /usr/local/apache2/bin/httpd /usr/local/bin/。
2. 编程语言是php,先从http://php.net/下载php,最新版本是7.0.0,不过这里以5.6.16为例,windows有线程安全和非线程安全版本的,暂时下载线程安全版本的,具体的区别暂不作说明。
安装php完毕以后,启动php-fpm,暂时使用默认配置,使用TCP链接9000端口,详细可参考附件。
3. 而后我但愿访问本机地址localhost或者127.0.0.1时,网页返回hello world字符串显示到浏览器,因此编写一个文件命名为index.php
vim /var/www/test/index.php(目录不存在须要先建立)
1 <?php 2 echo "hello world";
Listen 80(监听端口,可在这里修改) User daemon(启动使用的用户) Group daemon(启动使用的组) DocumentRoot "/usr/local/apache2/htdocs"(文档根目录,也就是咱们访问url为/时指向的文件系统目录,修改成DocumentRoot "/var/www/test") <Directory "/var/www/test">(设置对应目录的访问权限) Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <IfModule dir_module>(设置默认首页) DirectoryIndex index.html index.php </IfModule> ErrorLog "logs/error_log"(错误日志,修改成ErrorLog "/var/log/apache/error_log.log") LogLevel warn(日志等级) CustomLog "logs/access_log"(正常访问日志,CustomLog "/var/log/apache/access_log.log")
xxx.xxx.xxx.xxx - - [16/Dec/2015:15:57:51 +0800] "GET / HTTP/1.1" 200 26 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
4. 输出的内容是咱们写的php文件代码,而不是执行结果,为何呢?由于php是脚本语言,是须要以前安装的php解释执行输出结果的,因此,下一步就是在apache的配置中,加入php,apache运行php的模式不止一种,这里使用fastcgi模式,之后再说明其余模式的作法和原理。去掉如下两个模块的注释,添加上模块的配置,重启apache服务器。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
<IfModule proxy_fcgi_module>
ProxyPass "/" "fcgi://127.0.0.1:9000/var/www/test/index.php" enablereuse=on
</IfModule>
总结:
固然,整个配置流程仍是不少小问题要解决的,在解决这些问题的同时,也算是逼着我本身学习提升吧,有问题留下评论,我尽可能解答。不过下一期,我将会作一个大逆转,1. 我将使用Nginx做为反向代理服务器,取代apache的位置,采用LNMP架构;2. 我将配置Laravel这个PHP框架,并能够访问Laravel的hello world首页,Larevel也是网站开发使用的框架,而不会从零开始搭建一个网站。
附件:LAMP环境搭建