精华内容
下载资源
问答
  • PHP搭建服务器

    万次阅读 2018-11-08 12:24:21
    2. 搭建服务器 思考 :作为一名开发人员,如何将自己的网站让互联网上其他的电脑能够访问呢? 引入 :网站想要让其他用户访问,其实就是让其他用户知道你有一台Web服务器,而且知道服务器所在的地址即可...

    1. 认识互联网

    思考:平常我们上网的时候是怎么实现的?

    引入:上网其实打开浏览器,然后输入一个URL,最后就看到了网站打开的效果。

    普通用户访问互联网.gif

    1.1. 普通用户访问网站【了解】

    定义:URL:Uniformed Resource Location,统一资源定位。是特指互联网上的一种绝对路径,一个URL通常包含几个部分:HTTP协议、主机名和URI。以http://www.taobao.com/index.html 为例。
    1.HTTP协议,HTTP协议是互联网上浏览器与服务器之间进行访问所规定数据交换规范,通常以http://开始
    2.主机名:即服务器网站的名字,可以通过主机名确定互联网上对应的某台提供服务的电脑(主机),通常是www.标志.com/cn,如www.taobao.com表示淘宝主机
    3.URI:Uniformed Resource Identifier,统一资源标志,是指服务器上对应要被访问的文件从网站根目录开始对应的路径,如果在根目录下的index.html就是/index.html

    总结:网站的访问对于用户而言非常简单,其实就是一个输入URL,然后其他的工作就是浏览器与互联网之间的操作,用户不需要管理,只管看到最后的结果。但是实际上一个简单的URL包含了很多信息。


    思考:一个真实的上网环境难道就是这么简单的吗?浏览器上输入一个URL看到的结果到底是怎么来的呢?

     引入:其实浏览器访问网站本身是一件很复杂的事情,需要通过网络、定位以及软件服务才最终呈现用户所看到的效果的。

    1.2. 网站访问实际流程【掌握】

    互联网访问定义:互联网的中的网站访问,本质是一个互联网上有一台已知的服务器,然后用户知道服务器对应的“名字”(URL),然后通过URL,再经过互联网协议(HTTP协议)去自动寻找,并且服务器提供数据,浏览器解析数据的过程。

    1.互联网基本知识

    • 所有计算机在互联网上访问到的内容都是由相应的服务器提供资源
    • 服务器的本质不是硬件,而是装有服务器软件的计算机
      • 装有服务器软件就可以对外提供对应服务
      • 一台计算机可以安装多种服务软件
    • 所有计算机在互联网上都有一个唯一的标识代表自己:IP
      • IPV4是由32个比特位组成,转换成10进制分成4段,如112.90.32.8
      • IPV6是由128个比特位组成,转换成16进制分成8段,如31da:1d3:0:2f3b:2aa:ff:fe28:9c5a
      • 特殊IP:127.0.0.1代表本机电脑
    • 任何软件都有属于自己的对外交流的入口:端口(Port),而任何客户机尝试访问服务器都需要指定访问的端口(常用的有默认)
      • Web服务器常用端口:80
      • Telnet远程登录端口:23
      • FTP服务器常用端口:21
      • Mysql数据库服务器常用端口:3306
    • IP能够找到电脑,但是用户记不住,所以需要给IP设定一个别名方便用户记住,这种别名叫做域名(Domain Name)
    • 域名是人为的不具有唯一性,要找到服务器只能通过IP,所以计算机需要将用户输入的域名转换成对应的IP地址才能找到服务器,这个过程叫做域名解析,提供该服务叫域名系统DNS(Domain Name System)
      • 提供服务的产品公司将域名和服务器IP维护到DNS上(收费)
      • 本地域名解析,可以使用计算机自带的本地域名系统hosts文件(C:\Windows\System32\drivers\etc\hosts)

    2.互联网真实访问流程 网站实际访问过程.gif

    总结:互联网的访问站在用户角度操作简便,但是站在一个网站服务提供的角度,需要提供硬件、软件和协议的各种支持,最终才能实现数据的用户共享。


    思考:服务器的本质是为其他计算机提供服务,那么如何区分服务器呢?

    引入:服务器的区分是根据服务器安装的软件提供的服务类型来区分和命名的,当然也有根据服务器的硬件来区分专业和普通之说。 服务分类.png

    1.3. 服务器分类【了解】

    定义:服务器根据所安装的软件不同,分别对外提供不同的服务,根据日常所提供的服务的不同,我们就有了不同的服务器分类。

    1.域控制器-是用于内网中,担当域的用户、安全策略和文件/打印资源等方面的管理,通常是需要连接几十、几百、甚至上千个用户的并发连接。而且域控制器又是整个内间的核心所在,关系着整个公司网络的正常运行。这样一来,一是稳定性要求就非常高,白色支持长时间不间断运行;另一方面处理器性能、内存和网卡性能都要求非常高,只有这样才能支持这么多用户的并发连接。
    2.文件服务器-要求与域控制器的要求相似,只是在并发用户数支持方面要求稍低,因为并不是所有网络用户都会访问文件服务器的。但文件服务器是用来存储网络用户文件的,所以在硬件读写性能,以及硬盘容量方面的要求较域控制器更高,建议选择磁盘读写性能好的:SCSI、SATA、SAS 接口硬盘。正因如此,在文件服务器中通常是采取RAID5以上级别的硬盘阵列,一方面用于提高文件服务器的文件读写性能,另一方面也进一步提高文件服务器中的数据安全。
    3.Web服务器-主要特征是并发连接多(不仅是指并发用户,因为一个用户通常远不止打开一个网页,而每打开一个网页都是一个单独的连接),另外,同样需要相当的稳定性。并发连接多的需求就要求服务器的硬盘读取性能,以及网卡的连接性能非常高,另外也要确保服务器处理器能力有足够的保障。
    4.FTP 服务器-性能需求与Web 服务器也类似,但FTP 服务器在并发连接方面要比Web 服务器要求稍低,但FTP 服务器一般都允许用户上传文件,所以FTP 服务器的硬件读写性能方面要求要比Web 服务器高,而且,所要求的硬盘容量也比Web 服务器大,也需要选择传输性能更好的SCSI、SATA 、SAS 接口硬盘。在网卡方面,尽管并发连接数通常不会如Web 服务器那么多,但FTP 服务器所进行的是文件传输,需要占用较大的带宽,特别是大容量;文件的上传和下载, 所以要求FTP 服务器的网卡连接性能也非常高。
    5.邮件服务器-就与FTP服务器比较相近,因为它们都需要允许用户的文件读写功能。在邮件服务器中,除了要为用户提供邮件接收功能外,还要为用户提供邮件发送的功能。一方面要求邮件服务器的硬盘容量比较大,另一方面也要求邮件服务榕的硬盘读写能力非常强。当然邮件服务器的网卡连接性能更是不可忽视的,否则邮件的接收和发送队列无法及时完成。
    6.数据库服务器-性能要求相对前面几种服务器来说就更加高了。因为数据库服务器在调用文件和程序时不像前面介绍的服务器那样是直接访问的,而是通过各种索引、条件比较、动态页面访问、页面提交等方式从分布在各数据文件中抽取的一些或全部字段,浓度更大,更需要消耗服务器的CPU 、内存和硬盘等资源。在CPU 的选择方面,目前的高高主频、多核、多线程处理器(如Intel 的双核、四核至强处理器,AMD 的双核、四核Opteron 处理器, IBM的四核 Powers 、双核Power币,以及Sun 的四核ULtraSPRC Tl 和八核ULtraSPRC T2 处理器等)是比较好的选择,内存通常是需要在8GB以上的。另外,数据库信息条数通常是几十、上百万级的,整个数据库存文件所需要占用的硬盘容量非常大。再加上数据库中的数据对于企业用户来说特别重要,所以对于数据库服务器的数据通常是采取像RAID5 以上级别的硬盘阵列技术来保障硬盘读写性能和数据安全的。所以数据库服务器的选择应该特别慎重考虑。当然,数据库服务器的网卡性能也不可忽视,否则即使数据库服务器本身性能非常商,终端用户仍无法及时得到正确的响应。
    7.VoD 服务器-强调的是实时性,而且所传输的是非常消耗资源的流媒体,从总体上来说,对服务器的要求堪与数据库服务器媲美。这一方面要求VoD 服务器的流媒体处理作能非常高,内存资源非常足,硬盘容量非常大,硬盘读取和稳定性能都非常高;另一方面要求VoD服务器的网络连接带宽足够宽,连接性能足够好。

    Web服务器:一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache Nginx IIS。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。

    总结:服务器的分类非常简单,根据提供的服务区分即可。那么在接下来的学习过程中,我们主要是从事Web开发,因此需要对Web服务器进行深入了解。


    思考:Web也就是网站的访问就是之前所了解的网站访问流程那样简单吗?

    引入:之前所了解的Web访问流程确实就是Web服务的基本架构,这一点不会改变。但是随着用户需求的改变,随着服务质量的提升,Web的发展也是经历过阶段提升的。

    1.4. Web发展史【掌握】

    定义:Web的发展一共经历了两个阶段,俗称Web1.0和Web2.0,站在开发者和用户的角度来说就是静态网站和动态网站。

    1. Web 1.0(信息共享) Web技术发展的第一个阶段就是静态技术阶段,在这个阶段,HTML语言就是Web向用户展示信息的最有效载体。在这个阶段,是以编辑为特征,网站提供给用户的内容是网站编辑处理后的,用户阅读网站提供的内容,这个过程是网站向用户的意向行为。 静态网站访问流程.gif

    总结:最开始在Web1.0时代,只需要一个Web服务器软件(Apache/Nginx/IIS)就可以实现网站服务。

    1. Web 2.0(信息共建) web技术发展的第二个阶段是动态技术阶段,在Web 1.0时代,Web服务器会返回整个页面或者文档,但随着动态脚本语言的出现(ASP、JSP和PHP),使得用户可以在获取信息的同时还能提供信息,并且可以将提供的信息分享给其他用户。在这个阶段加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户的双向互动交流,Web2.0不同于Web1.0的最大之处在于它的互动性,用户拥有自己的数据,并完全基于WEB,所有功能都能通过浏览器完成。 动态网站访问流程.gif

    总结:在进入Web2.0时代后,纯粹的Web服务器就不能满足要求,需要多种服务软件共同配合才行,搭配方式就是:操作系统+Web服务器+动态语言解释器+数据库服务器。全球使用的PHP开发的Web网站基本就是两种:LAMP或者WAMP

    • LAMP:Linux(操作系统)+Apache(Web服务器)+Mysql(数据库服务器)+PHP(脚本语言解释器)
    • WAMP:Windows(操作系统)+Apache+Mysql+PHP

    思考:随着Web2.0的到来,出现了动态脚本语言PHP,那么PHP到底是什么?

    引入:其实PHP只是一种为了动态网站应运而生的脚本语言,同时代还有很多能够实现动态网站的语言,比如ASP和JSP,但是PHP因为其开源免费的性质,以及简单易用的特性深得网站开发者的喜爱。

    1.5. 认识PHP【了解】

    定义:PHP种运行在服务器端的可以嵌入到HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。

    • PHP前身:Personal HomePage,个人主页,使用Perl语言开发的用于追溯访问其博客的用户信息
    • PHP:PHP Hypertext Preprosessor,php超文本预处理器,底层使用C语言
    • 服务器端:意味着必须依赖在服务器端解析,浏览器不能解析
    • 解释型:脚本执行时才编译,而且每次执行都需要编译
    • PHP常用版本:目前市面上常用的PHP版本为php5(2004年)和php7(2015年)

    总结:PHP是一种市场应用广泛的动态网站开发的脚本语言,占据了市场全部网站开发的80%以上,因此市场对于PHP程序员的需求旺盛。而PHP的语法间接性、扩展库的全面性能够让初学者快速掌握动态网站开发的奥义。


    2. 搭建服务器

    思考:作为一名开发人员,如何将自己的网站让互联网上其他的电脑能够访问呢?

    引入:网站想要让其他用户访问,其实就是让其他用户知道你有一台Web服务器,而且知道服务器所在的地址即可。

    2.1. 搭建基础Web服务器【掌握】

    定义:基础Web服务器,就是在电脑上安装一个对应的Web服务器,能够对外提供本地已有的网页资源(静态网页)。而与PHP配合最好的Web服务器无外乎两种:Windows下通常是Apache,而Linux下可以是Apache或者Nginx。Windows系统通常初学者都比较熟悉,因此第一台基础Web服务器就是在Windows下安装Apache。

    1.获取Apache:apache官网,但是下载步骤还比较麻烦(大家也可以百度一下如何下载),直接给大家一个下载链接: Apache2.4下载注意选择系统对应位数(64位和32位)

    2.解压文件

    3.将Apache24文件夹复制到安装目录:案例地址D:/server/

    Apache安装1.png 4.查看文件目录

    Apache安装2.png 5.修改配置文件:配置网站默认站点

    • ServerRoot:服务器所在目录:D:/server/Apache24 Apache安装3.png
    • DocumentRoot:网站默认根目录:D:/server/Web(为了方便新建一个Web文件夹,学习通常可以放到默认网站根目录:Apache/htdocs)
    • Directory:权限控制,指定与网站默认根目录一致:D:/server/Web

    Apache安装4.png 6.打开windows控制台:Windows菜单->windows系统->命令提示符(当前我的系统的win10,不同系统可能路径不同),然后使用管理员身份(邮件->管理员身份运行)打开

    Apache安装5.png

    以后建议使用快捷键:win键+R键(同时按),然后输入cmd命令(常用)

    Apache安装6.png

    进入到控制台界面

    Apache安装7.png 7.切换磁盘路径为Apache所在磁盘D盘:直接输入盘符:D:(带冒号),然后回车

    Apache安装8.png 8.使用CD命令(Change Directory)进入到Apache的bin目录下:cd server/Apache24/bin,然后回车

    Apache安装9.png 9.安装Apache,并将Apache安装成Windows系统服务,输入:httpd.exe -k install

    Apache安装10.png 10.第一次安装后不会自动启动,需要手动启动,输入:httpd.exe -k start(也可以启用ApacheMonitor(Apache/bin/ApacheMonitor.exe)

    Apache安装11.png 11.结果验证

    Apache安装12.png 12.修改配置文件,除去错误信息。找到ServerName,增加一个ServerName 为localhost

    Apache安装13.png 13.通过httpd.exe -t进行配置文件错误检查

    Apache安装14.png

    至此,Web服务器就安装完成,如果只是一般的静态页网站(纯HTML、CSS和JavaScript网页)就可以通过该服务器对外发布了。如果要完成对外发布,只需要额外做以下几件事情:

    1.购买或者租用(通常已经安装好)一台服务器安装上Apache 2.购买一个域名,将Apache的配置文件中的ServerName由localhost改成对应的域名 3.在购买域名的服务商那里绑定所购买的域名指向的你服务器对应的IP地址 4.将网站页面放到对应的Web文件夹(DocumentRoot所指向的文件路径)

    总结:基础Web服务器就是需要安装一个Apache即可,随即可以向外提供对应的网站服务,操作还是很简单的。


    思考:静态网站通过Apache可以服务,但是如果开发的是一个动态网站,用的是PHP语言,那么Apache能够解决问题吗?

    引入:PHP是一种运行在服务器端的脚本语言,言外之意需要在服务器端(Apache)就解析掉,浏览器不可识别。而Apache的本质只是从服务器获取已有文件,提供给浏览器的功能,并不能解析PHP或者其他动态脚本语言。因此,想要解析PHP脚本就必须安装PHP解释程序。

    2.2. 安装PHP【掌握】

    定义:PHP解释器是一种能够将PHP编写的代码解析成HTML格式的代码的软件,它由Zend公司提供,专门解析PHP代码。因此服务器端若需要解析PHP脚本,就必须通过PHP解释程序来实现。接下来就在服务器端实现PHP的安装。

    1.获取PHP:php官网,获取最新版本7.2.4,或者直接进入PHP7.2.4下载界面下载(注意下载适合计算机的位数的版本zip文件,当前电脑为64位操作系统,另外下载的软件应该是Thread Safety) 2.解压缩压缩文件到D:/server目录下 安装PHP1.png 3.为了方便管理,将文件夹名字改成PHP7(至此PHP已经安装完毕) 安装PHP2.png 4.掌握PHP常用内容

    • PHP扩展:ext(extension)文件夹,存放了PHP所支持的各类扩展 安装PHP3.png
    • PHP执行文件:php.exe,PHP代码解释器,能够将PHP代码解析成HTML文件
    • PHP配置文件:php.ini,默认的PHP提供了两套配置文件php.ini-development(开发环境)和php.ini-production(生产环境) 安装PHP4.png

    5.将php.ini-development修改成php.ini格式(建议复制一份php.ini-development然后修改成php.ini) 安装PHP5.png 6.测试php.exe的功能

    • 在D:/server/Web文件夹下创建一个index.php文件(需要通过文件系统修改显示文件后缀名,Windows系统默认隐藏后缀名) 安装PHP6.png
    • 使用编辑器打开文件,然后输入对应的代码(不建议使用Windows自带的TXT编辑器,建议使用代码编辑器:editplus/phpstorm/subline) 
    • 在控制台(CMD)下进入到php.exe所在目录 安装PHP8.png
    • 使用命令测试php.exe对代码的执行:php.exe -f D:/server/Web/index.php 安装PHP9.png

    总结:PHP的安装很简单,PHP也的确能够将PHP的脚本解析成对应的HTML文件。在安装的过程中没有过多要注意的东西,但是在安装路径上要注意不能使用中文路径


    思考:PHP能够解析PHP文件,Apache能够根据用户的需求去访问PHP文件,但是二者的操作是独立的,这样能够实现动态网站吗?

    引入:PHP与Apache的“独立”工作无法实现动态网站,因为实际的请求是用户请求Apache服务器,而Apache想要的结果是拿到一个PHP文件并解析成HTML,自己却做不到。要实现动态网站,就需要Apache在拿到PHP文件请求的时候,能够让PHP解释器来帮忙解析。

    2.3. Apache加载PHP【掌握】

    定义:Apache的工作原理是模块化加载工作,即加载某个模块后就可以使用对应模块的功能;而PHP是独立工作,不具备从互联网中接收别人请求的能力,二者需要相互协作。协作的模式就是PHP为Apache提供的调用功能模块,Apache只需要按照正确的方式去调用PHP,并且让PHP在需要的时候能够工作即可。

    1.找到PHP为Apache提供的模块文件:php7apache2_4.dll Apache加载PHP1.png
    2.在Apache配置文件中使用LoadModule命令加载PHP模块:LoadModule php7_module php7apache2_4.dll路径(绝对路径) Apache加载PHP2.png
    3.在Apache中指定需要PHP解析的文件(以后缀区分):AddType application/x-httpd-php .php .html(多种文件可以使用空格分离,通常就是php和HTML文件) Apache加载PHP4.png
    4.PHP虽然为Apache打工,但是PHP的运行是独立的,如果想让PHP完全服从Apache,需要将PHP的配置文件加载到Apache中:PHPIniDir php.ini文件路径(绝对路径) Apache加载PHP4.png
    5.任何Apache配置文件修改(包括已经加载到Apache中的php.ini)都需要重启Apache才能生效:运行Apache->bin->ApacheMonitor.exe,然后重启 Apache加载PHP5.png
    6.测试运行:在D:/server/Web/index.php中输入phpinfo()函数 Apache加载PHP6.png
    7.在浏览器中打开访问:localhost/index.php 
    8.在PHP环境中往下找可以看到,timezone(时区)对应的默认的是UTC(世界标准时间),作为中国开发者应该修改为PRC时区,所以需要在php.ini中找到timezone,并添加一个为PRC(默认注释掉了) Apache加载PHP8.png
    9.重启Apache生效 Apache加载PHP9.png

    总结:Web服务器要实现制作动态网站,需要Apache和PHP共同协作。而Apache和PHP是独立的软件,PHP知道自己的缺点(不能独立获取用户请求),便“委身于”Apache,为Apache提供调用模块,Apache就可以在特定情况下调用PHP。Apache加载PHP在实际开发中经常用到,而实际的操作只有那么几步,务必掌握好。


    思考:Apache加上PHP之后的确能够实现网站的动态效果,但是所谓的动态的很大的前提是根据用户的需求提供不同的数据,Apache显然是不能保存数据的,PHP是否可以做到呢?

    引入:PHP是一种动态处理的脚本语言,能够在内存运行过程中保存数据,但是所有的数据是基于内存的,一旦运行结束,内存就会返回给操作系统,意味着数据就会消失。所以PHP本身不能长久持续的保留数据,所以不能够对外提供数据支持。因此,如果想要持久的数据支持,Apache和PHP还做不到,还需要能够持久化存储数据的数据库支持。

    2.4. 安装Mysql数据库【掌握】

    定义:数据库是一种能够持久化存储数据,同时高效的管理数据的软件,是为动态网站根据用户提供不同数据的基础支撑。mysql数据库是一种独立的软件,是一种在PHP需要的时候通过代码去操作的软件。因此mysql的安装可以完全独立出来,不需要在安装时就与Apache或者PHP关联(Apache无法操作数据库)。同时,mysql也是一款开源免费的数据库产品,深得广大开发公司的喜爱。接下来就完成Mysql数据库的安装。

    1.获取Mysql安装软件:Mysql官网,获取最新版本mysql5.7.21(同样注意计算机位数)
    2.解压缩文件,同时把解压后的文件夹放到Server目录,即D:/server/下 安装mysql1.png
    3.为了方便管理,把文件夹重命名为mysql 安装mysql2.png
    4.mysql以后会经常使用,因此先添加系统环境变量:以Windows10为例,邮件“我的电脑”选择“属性”,然后点击“高级系统设置” 安装mysql3.png
    5.点击“环境变量”,选中“系统变量”中的“path”,点击下面的“编辑”按钮,进入到系统环境变量管理界面 安装mysql4.png6.点击“新建”增加环境变量,并输入:D:\server\mysql\bin(注意:在Windows下正斜杠“/”和反斜杠“\”都可以作为路径分隔符),然后点击各种“确定”按钮 安装mysql5.png 7.当前mysql的安装并不是傻瓜式安装文件,所以需要在mysql目录下新建一个配置文件mysql.ini 安装mysql6.png 8.在mysql.ini中输入以下配置内容

    [mysqld]  
    port = 3306  
    basedir=D:/server/mysql  
    datadir=D:/server/mysql/data   
    max_connections=200  
    character-set-server=utf8  
    default-storage-engine=INNODB  
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
    [mysql]  
    default-character-set=utf8    
    

    安装mysql7.png 9.在控制台(CMD)进行命令安装(管理员身份进入),进入到Mysql的bin目录,输入:mysqld.exe -install 安装mysql8.png 10.进行初始化操作,继续输入:mysqld --initialize-insecure --user=mysql 安装mysql9.png 11.此时会在mysql安装目录下多出一个data目录,用于存储数据 安装mysql10.png 12.第一次安装不会自动启动mysql,需要手动启动(以后自动启动),输入:net start mysql 安装mysql11.png 13.默认安装mysql有一个超级管理员用户root,但是当前没有密码,非常不安全,因此需要修改root用户的密码,输入:mysqladmin -u root -p password 新密码 安装mysql12.png 14.在增加新密码的时候,会让你输入旧密码,而原来没有密码,所以直接回车即可 安装mysql13.png 15.安装好了之后测试下效果:Mysql是一种C/S结构软件,因此需要使用客户端去访问服务端,mysql提供了自己的客户端mysql.exe,可以在控制台(CMD)下通过mysql.exe进行访问,输入:mysql.exe(或者mysql) -u用户名 -h主机地址 -P端口 -p密码 安装mysql14.png

    总结:Mysql数据库是一种广泛应用的数据库软件,64位的数据库(Apache也一样)都是通过配置安装,如果32位的有安装文件(.exe结尾),安装过程比配置安装要简单一点。至此,一个真正有效的动态网站的服务器环境搭建(WAMP)就搭建完成,我们可以在这种环境下去开发需要的网站了。


    思考:Web服务器已经完成了,可是我们的网站访问是通过localhost来访问,但是实际上网络上网站的访问都不是通过localhost访问的,这个怎么实现呢?

    引入:localhost访问通常是开发阶段,程序员在本地开发和测试的时候使用的,如果部署好对外访问的话,需要申请公网有效的域名并进行维护。而且通常,程序员在开发的时候手上不止一个项目,为了安全和方便,都不会放到一个文件夹,而是分开维护。所以还需要通过Apache来实现多项目开发管理。

    2.5. 安装虚拟主机【掌握】

    定义:Apache为了方便用户开发,也方便服务器对外提供多个网站的访问,提出了虚拟主机的概念。虚拟主机是指在一台计算机上,理论上只能代表一台主机,但是因为需求需要在一台电脑上对外提供多个网站服务,Apache可以通过一定的技术手段(配置),让一台电脑好像拥有多个主机,这个技术称之为Apache虚拟主机。

    1.虚拟主机分类:Apache虚拟主机根据设定的方式可以分为两类:

    • 基于IP的虚拟主机:一台电脑绑定多个IP(多个网卡,一个网卡一个IP),每个IP针对一个网站;
    • 基于域名的虚拟主机:一台电脑上只有一个IP,但是通过给不同文件夹命名一个“虚拟”的主机名号,一个文件夹对应一个网站。

    2.搭建基于域名的虚拟主机:基于域名的虚拟主机可以在Apache的主配置文件中httpd.conf下进行配置,但是Apache为了方便配置文件的管理,将虚拟主机单独形成了一个配置文件叫做httpd-vhosts.conf,在主配置文件同级目录的extra文件夹下。

    ①.在主配置文件夹中开启虚拟主机配置文件的加载(默认关闭的):httpd.conf 配置虚拟主机1.png ②.在虚拟主机配置文件中清除已有的示例虚拟主机 配置虚拟主机2.png③.增加基于域名的虚拟主机标签 配置虚拟主机3.png ④.配置虚拟主机主要信息:站点位置(文件夹路径)和主机名,其中站点位置就是本地某个确定要放网页的文件夹;主机名如果是本地开发随便取,如果是对外提供服务就应该是一个真实的域名 配置虚拟主机4.png ⑤.权限配置,权限是针对文件夹的,通常至少会设置网站的根目录,实际上目录可以设置N个

    • Directory:针对指定目录
    • Require:访问权限
      • Require local:本地访问
      • Require all granted:全部访问
      • Require all Denied:拒绝所有访问
      • Require ip 127.0.0.1:允许指定IP访问(内部访问)
      • Require not ip 192.168.98.1:禁止指定IP访问(防止指定攻击)
      • Require host localhost:允许使用localhost访问(私有主机)
    • DirectoryIndex:用户没有指定访问脚本的时候默认提供哪个文件 配置虚拟主机5.png

    ⑥.一旦启动虚拟主机,原来的默认localhost主机便失效,因此需要为localhost配置新的虚拟主机 配置虚拟主机6.png

    ⑦.所有的修改在重启Apache后生效
    ⑧.以上操作只能代表服务器准备完毕,用户访问的话还需要配置DNS(开发时本地hosts文件) 配置虚拟主机7.png

    总结:Apache提供的虚拟主机能够为一些企业提供一套服务器对外提供多个网站的服务需求,解决了中小企业很多资金问题(不需要根据网站数据量配置大量服务器硬件),也能够让服务器实现更大化的利用价值。

    注意配置Chorme代理关闭,在httpd.conf中将directory相应更改,配置DirectoryIndex index.php index.html 

    展开全文
  • 1、首先在网上下载一个快速搭建本地服务器的免费软件WampServer,百度搜索“WampServer”即可找到下载。2、下载好后,双击安装WampServer,一直选择“next”下一步即可完成安装。软件语言默认是英文,我们...

    php中if用法详解_后端开发

    php中if用法是:1、指定条件为真,则执行代码;2、【if…else语句】当条件为true,则执行代码,当条件为false,则执行另一端代码。

    8ef469e474e047f810b3381471f23515.png

    1、首先在网上下载一个快速搭建本地服务器的免费软件WampServer,百度搜索“WampServer”即可找到下载。

    2fcea375d4495cfd2b652af309c478e7.png

    2、下载好后,双击安装WampServer,一直选择“next”下一步即可完成安装。

    aee6e061489eed31fe2c49ad55fcc336.png

    d5ad1227fad9fd32a11dfd94abbf26cc.png

    ef86e38014473fbabe8645f09c7f6f5d.png

    50d977e34ca34f8e2673b1b343863a33.png

    7cc0c5fed6553368dce84623766ee140.png

    软件语言默认是英文,我们可以修改回中文。安装完成后,打开软件,在电脑右下角软件小图标右击,选择Language,选择语言“Chinese”即可。

    c2a00f3ce5cc550ffa37503205f2e106.png

    c语言puts函数用法是什么?_后端开发

    c语言中puts()函数是用来向标准输出设备输出字符串并换行的,具体为:把字符串输出到标准输出设备,将“\0”转换为回车换行。其调用方式为:“puts(s)”;其中s为字符串字符(字符串数组名或字符串指针)。

    单击软件小图标,选择www目录就是本地服务器的根目录;选择phpmyadmin即可打开数据库。

    eeb16ef886dee39ea9c5d8380c9cb79e.png

    1db001263f92740c2281f08e562c813d.png

    本地服务器就这么简单就搭建成功了,浏览器输入“localhost”即可访问本地服务器根目录。

    624c10c1b17757282f54dd152698187d.png

    如图所示如果没能成功访问,就是服务器没有启动,我们检查WampServer的服务是否启动,启动了的和没启动图标不同,没启动的是红色的。我们可以启动全部服务。

    3bd6495b710ef0ad053caefc72f2c294.png

    f34a02060a98cc821310f609393de3db.png

    如果还是没能成功访问本地服务器,那就是这台机子的80端口被占用,通常是安装了同类型的软件用到了Apache而被占用,找出来把它停用之后重启WampServer即可。

    推荐教程: 《php教程》

    展开全文
  • vmware下载安装请看:http://www.myxzy.com/read.php/90.htm 虚拟机安装ubuntu,这里就不说了。安装好ubuntu并启动。 2.设置本地网络连接,ip地址等。演示用nat桥接的方式上网,IP:192.168.128.3。 3.安装...
    1.下载ubuntu11.10和vmware。
    vmware下载安装请看:http://www.myxzy.com/read.php/90.htm
    虚拟机安装ubuntu,这里就不说了。安装好ubuntu并启动。

    2.设置本地网络连接,ip地址等。演示用nat桥接的方式上网,IP:192.168.128.3。

    3.安装apache。打开终端,可以切换到root模式(下面就不说了,直接写命令)
    sudo -s                      这是切换到root模式,这里提示要密码,输入密码即可。
    sudo apt-get install apache2
    这里会自动安装apache,不要关闭终端。等待安装完成。
    用firefox打开http://localhost/,提示有“it works”,就是正常工作了。

    4.安装php。
    sudo apt-get install php5
    sudo apt-get install libapache2-mod-php5
    sudo /etc/init.d/apache2 restart
    测试:sudo gedit /var/www/test.php
    写入,然后保存,并用firefox打开 http://localhost/test.php,会显示PHP配置信息就是正确安装了php

    5.安装mysql数据库
    sudo apt-get install mysql-server
    等到弹出密码输入,输入密码
    给外部连接mysql的权限http://www.myxzy.com/read.php/279.htm

    6.安装MYSQL for Apache HTTP Server
    sudo apt-get install libapache2-mod-auth-mysql
    sudo apt-get install php5-mysql
    要让PHP与MySql一起工作,编辑
    sudo gedit /etc/php5/apache2/php.ini
    取消对;extension=mysql.so的注释,然后保存文件,最后重启apache
    sudo /etc/init.d/apache2 restart

    到了这里php+mysql+apache基本安装已经完成。

    方便本地化测试环境,windows能访问ubuntu,1.装FTP 2.共享文件夹
    更改根目录sudo gedit /etc/apache2/sites-enabled/000-default
    这里可以编辑路径
    DocumentRoot /home/myxzy/www
    directory /home/myxzy/www
    重启Apache2服务即可。
    sudo /etc/init.d/apache2 restart
    安装共享软件,开启共享通过局域网访问轻松的更改文件。
    到此,ubuntu11.10安装本地php+mysql+apache测试环境就差不多了。
    展开全文
  • Apache+PHP搭建服务器

    千次阅读 2008-09-17 22:46:00
    1.安装apache双击文件apache_2.2.9-win32-x86-no_ssl-r2.msi,把它安装在 d:/web或者也可以是其它路径,注意不要是名称带空格的文件夹(也不要含中文),... 安装过程中需要填入服务器信息:填入localhost,localhost
    1.安装apache
    双击文件apache_2.2.9-win32-x86-no_ssl-r2.msi,把它安装在 d:/web 或者也可以是其它路径,注意不要是名称带空格的文件夹(也不要含中文),这里以d:/web为例,接着一直点下 一步直到完成, 如果80端口已经被占用(比如安装了IIS),就选8080端口。
        安装过程中需要填入服务器信息:填入localhost,localhost,邮件地址即可
    现在打开浏览器,输入 http://localhost ,如果不是80端口则输入 http://localhost:8080 ,下同。
    be371cd7a709c4d3a144df2c.jpg
    看到It works!,说明apache安装成功了!!!!!

    2.修改apache配置文件httpd.conf
    解压php-5.2.4-Win32.zip到文件夹D:/web/php-5.2.4-Win32 。在apache安装路径下找到httpd.conf文件,用记事本打开。
    配置PHP:
    查找#LoadModule ssl_module modules/mod_ssl.so到这一行,在该行末回车另起一行,添加如下配置内容:
    #php#
    LoadModule php5_module "d:/web/php-5.2.4-Win32/php5apache2_2.dll"
    AddType     application/x-httpd-php .php   (注意:.php前有一个空格)
    PHPIniDir   "d:/web/php-5.2.4-Win32"
    设置网站默认访问文件:
    查找DirectoryIndex index.html到该行,修改为:
    DirectoryIndex index.html default.html index.php default.php
    设置网站根目录:
    查找#DocumentRoot这一行修改为:DocumentRoot "D:/wwwroot"
    设置根目录访问权限:
    查找<Directory />,将<Directory />到</Directory>之间的内容修改为:
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
    </Directory>

    3.修改php配置文件php.ini
    拷贝在php安装文件夹下找到php.ini-dist文件,用记事本打开,另存为D:/web/php-5.2.4-Win32/php.ini
    设置服务器时区:
    查找date.timezone设置为date.timezone = PRC    其中,PRC是代表中华人民共和国。
    关闭魔术引号:
    查找magic_quotes_gpc 设置为:magic_quotes_gpc = Off
    设置PHP扩展路径:
    查找extension_dir 设置为:extension_dir = "D:/web/php-5.2.4-Win32/ext"
    开启必要的php扩展:
    分别查找extension=php_mbstring.dll
    extension=php_mssql.dll
    extension=php_mysql.dll
    extension=php_pgsql.dll
    extension=php_xsl.dll
    分别将该行前面的分号去掉。
    增加xdebug扩展
    www.xdebug.org站点下载相应php版本的 xdebug模块文件,可以自己修改文件的名称,如保存成:php-xdebug.dll,下载完成后将文件复制到D:/web/php-5.2.4- Win32/ext/文件夹下,在php.ini文件内查找到最后一个extension,回车再起一行,添加如下内容:
    zend_extension = "D:/web/php-5.2.4-Win32/ext/php-xdebug.dll"

    4.添加PHP路径到系统环境变量
    桌面我的电脑右键属性->高级->环境变量
    追加PATH环境变量(若没有PATH环境变量则新建)的值,追加 ;d:/web/php-5.2.4-Win32
    设置完环境变量,需要重启才能生效!!!

    5.测试
    在网站根目录新建文本文件phpinfo.php,内容如下:
    <?php
    phpinfo();
    ?>
    打开浏览器,输入:http://localhost/phpinfo.php
    944530a441ed5af99052ee88.jpg
    OK,大功告成!
    展开全文
  • php搭建邮件服务器

    2017-11-07 17:46:32
    php环境中建立phpmail专业类,快速搭建php邮件服务器,方便部署
  • 自己搭建服务器,需要什么样的条件呢,它是一个怎么样的过程。下面就为大家介绍一下如何搭建自己的服务器。1、打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息...
  • CentOS搭建PHP服务器

    2017-03-04 23:51:57
    本文档使用CentOS7、mariadb、nginx、PHP7搭建PHP服务器(LNMP)
  • php搭建邮件服务器.

    2013-02-09 22:39:51
    php搭建邮件服务器
  • 1、首先在网上下载一个快速搭建本地服务器的免费软件WampServer,百度搜索“WampServer”即可找到下载。2、下载好后,双击安装WampServer,一直选择“next”下一步即可完成安装。软件语言默认是英文,我们可以修改回...
  • PHP-电脑搭建服务器

    2017-02-24 17:53:00
    PHP-电脑搭建服务器 一 材料 花生壳 php mysql apache(我使用的是phpstudy) 二 实现 (一)phpstudy安装 (二)花生壳安装及认证 (二)相关设置 1 域名右键点击管理 2 添加映射 3 点击...
  • 本文主要和大家介绍了CentOS搭建PHP服务器环境的方法,简单讲述了CentOS平台安装Apache、mysql、php环境及相关测试代码,非常简单实用,需要的朋友可以参考下,希望能帮助到大家。1. 先安装apache:yum install httpd...
  • - (void)uploadPost:(NSString *)imageURL { // NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"lion" ofType:@"jpg"]... } 做个小应用用nodejs或php服务器还是挺好控制的,适合个人开发者啊!!!
  • 关于搭建服务器

    2020-03-23 22:15:45
    搭建一个服务器,来展示网页。 百度一下服务器,有apache,tomcat各种各样的,但是用哪种服务器呢? 服务器分两种,一种是web服务器,一种是应用服务器。(我自己了解就这样种,因为我要用到,其他服务器类型就不...
  • xampp搭建服务器方法

    2018-12-17 10:37:40
    好用的服务器发布软件,以及配置php网页环境的方法,可以搭建php环境。
  • PHP-搭建Web服务器

    2020-03-25 09:43:00
    1.4 搭建Web服务器 1.4.1 安装phpstudy 直接解压即可 1.4.2 目录结构 启动服务 1.4.3 访问服务器 在www目录下创建demo.php页面 <?php phpinfo(); 访问服务器 访问规则:http://服务器ip地址/php页面 比如: ...
  • linux 下搭建php服务器

    2017-05-26 21:10:11
    linux 干净操作系统下搭建php服务器
  • 最近一直在找免费的云服务,刚好在上面找到了免费云服务器,并且安装部署了php服务器,配置操作简单,速度很快,使用起来很方便。 1.xampp下载网址:https://www.apachefriends.org/index.html 2.上传至linux系统...
  • 今天尝试在ubuntu下独立完成apache2+php+mysql的服务器运行环境。具体的步骤如下(下面的操作都需要使用root权限):|.Apache2安装sudo apt-get install apache2安装的成功标志是你在浏览器中打开127.0.0.1的时候会...
  • php环境中建立phpmail专业类,快速搭建php邮件服务器,相当方便!
  • 1.搭建Web服务器 1.1目录结构 1.2访问服务器 访问规则:http://服务器ip地址/php页面 比如: http://localhost/demo.php http://127.0.0.1/demo.php 1.3Apache常用命令 httpd -v 查看apache版本...
  • 本文将向读者介绍如何在Ubuntu Linux系统迅速搭建Apache Web服务器。尽管Ubuntu 是一种新兴的Linux分支,但Ubuntu 组织却为Apache提供了丰富的支持软件,这些软件都可以从发行版的光盘获取,也可以从官方站点轻松...
  • Nginx + PHP 搭建Ubuntu 服务器

    千次阅读 2017-05-18 00:03:38
    Ubuntu搭建Nginx+PHP服务器
  • PHP服务器搭建教程

    2009-04-10 09:51:28
    详细介绍 PHP服务器的安装过程,搭建方式等等
  • PHP搭建简单服务器

    2019-03-20 09:30:24
    1.安装PHP环境 2.项目文件夹中,调出命令行工具 --- powerShell 2.在vs Code中,调出终端,输入以下命令 3.$ php -S 192.168.1.72:8888(自己ip接任意端口号) 4.在浏览器中访问以上地址即可。 PS:局域网内均可...
  • //搭建一个简易的后台运行本地服务器 nohup php -S 192.168.1.112:8888 &amp; //搭建一个临时本地服务器 php -S 192.168.1.112:8888 //结束所有php进程,包括了新建的服务器进程 killall php //结束指定进程 ...
  • Linux搭建php服务器

    2020-11-10 18:05:11
    上传php压缩包:rz 解压: tar -zxvf php5.6_centos.tar.gz 进入目录:cd php5.6 执行脚本:./install.sh 【注意】如果出现问题,可以安装对应的依赖包解决。 php安装后的目录在/var/local/php5.6下 启动命令:sbin...
  • 主要介绍了CentOS搭建PHP服务器环境的方法,简单讲述了CentOS平台安装Apache、mysql、php环境及相关测试代码,非常简单实用,需要的朋友可以参考下
  • 配置安全组 阿里云和宝塔对应 域名解析 服务器 远程连接 安装一个 宝塔扩展 获得服务器对应宝塔的 ...-e KaTeX parse error: Expected '}', got 'EOF' at end of input: … rewrite ^(.*) /index.php
  • 由于客户买的windows的服务器,好吧,那就简单粗暴的phpstudy8.0遇到的问题:1.服务器能远程连接,但无法联网解决方法:添加角色和功能,勾选DirectPlay和无线WLAN服务,之后重启解决问题...
  • win7搭建php服务器,php集成软件安装了本地php环境,但是php,mysql等的版本不能自己选择,那么win7搭建php服务器用什么方法搭建,j就让小编分享win7搭建php服务器图文详解.win7搭建php服务器图文详解:1、首先是安装IIS...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,333
精华内容 4,533
关键字:

php搭建服务器