网站是一种可以提供web访问服务的电脑。php
用户:网站就是一个用户可以经过浏览器(web)进行访问的方式。(浏览器上经过输入url,得到其余电脑(web服务器)的资源而且进行显示。)css
程序员:网站就是一个在安装了服务器的电脑上,提供一个能够被访问的资源(文件夹)html
2.什么是服务器?mysql
服务器直译是硬件(电脑),一台可以对外提供服务的电脑。linux
服务器:一台装有服务器软件的电脑,可以对外提供访问的服务。nginx
服务器有哪些?程序员
web服务器:Apache,iis,tomcat等web
数据库服务器:mysql,oracle,DB2,sqlserver等sql
文件上传服务器:ftp等数据库
文件管理服务器:svn等
3.什么是url?
url:Uniformed Resource Locator,统一资源定位,在互联网(局域网)上有不少台电脑链接,有其中一台或者多台提供某种特殊的服务,而后其余电脑须要从这台电脑上获取服务。须要有一种机制,可以从一张互联网上找到对应的某台肯定的电脑,使用URL
URL:是互联网上的绝对路径
如: http://www.itcast.cn/gz/php/index.php
www.itcast.cn: 主机名,互联网上某台电脑上的对应文件夹的名字
itcast.cn:域名,一级域名(.com,.cn,.china:域名服务器)
www.itcast.cn:二级域名:在一级域名的左边增长一个单词
luntan.itcast.cn:二级域名
/gz/php/index.php:肯定某台服务器上对应的文件的位置(目录结构)
在电脑网站根目录下面的gz文件夹下的php文件夹下的index.php文件
URI:Uniformed Resource Identifier,统一资源标识,用来定位服务器上的文件的位置(路径:相对路径)
http://www.itcast.cn/index.php?class=php150422
协议:http://
URI:/index.php?class=php150422
4.如何进行网站的web访问?
用户角度出发:
a) 打开浏览器
b) 输入URL,按回车(请求)
c) 浏览器显示数据
服务器角度:
a) 接收请求(欢迎光临)
b) 解析请求(询问客户须要买什么内容:买盐)
c) 响应(给用户盐:用户给钱)
IP:绑定在每台电脑的网卡上的惟一标识,一个IP可以表明一台电脑(惟一),互联网之间是经过TCP/IP协议来进行电脑匹配
域名:域名又能够理解为主机名,是某个网站对应的“文件夹”(文件夹别名)的名字,由于IP地址很难记,用户体验至关差。使用域名来给IP地址也取个别名,用户只须要记住域名(主机名)便可,浏览器输入URL的时候也不须要输入IP
DNS:Domain Name system,域名系统,专门用户解析域名换成对应的IP地址
hosts文件:本地域名解析(全部浏览器发出的请求,都是先通过本地解析hosts文件)
Port:端口,电脑上(服务器)的软件用来监听外部发送过来的请求的(门卫)
5.软件结构?
软件分为两种类型的:C/S结构,B/S结构
C/S:Client/Server,客户端/服务端,这种软件结构必须保证用户的电脑上安装的客户端(对应服务器端),如QQ,飞秋
客户端只能向服务器发起请求
B/S:Browser/Server,浏览器/服务器,这种结构只要求用户有浏览器便可。
浏览器是一种万能客户端。
6.开发环境?
开发环境就是指安装软件:软件分为两种
集成环境:有人将实现某个功能所须要用到的多个软件进行合并(封装),变成一个软件,用户使用的时候,只须要安装一个软件就实现了安装多个软件:如wamp = Apache + mysql + php + windows
xapp,appserv,phpstudy ===== Windows + Apache + mysql +php
独立环境:用户自主安装多个须要的软件
独立环境与集成环境的区别
集成环境优势
集成环境缺点
独立环境优势
独立环境缺点
选择
开发的时候,基本上使用集成环境(简单)
部署的时候(上线),基本上使用独立环境(安全):lamp = Linux + Apache(稳定) + mysql + php ====》 lnmp = linux + nginx(效率高) + mysql + php
Apache是提供web访问服务的软件。
1.双击安装:打开欢迎界面
2.点击“next”进入到协议界面
3.赞成协议,点击“next”,进入应用提示界面
4.点击“next”进入到主机配置界面
5.输入域名,主机名,邮箱,选择全部用户,点击“next”,进入类型选择界面
6.选择自定义安装,点击“next”进入到路径选择界面
注意:安装路径不能有中文,不能有空格
7.修改安装目录:为D:/server/apache,点击“next”进入到安装准备界面
8.点击“install”安装
失败缘由:端口被占用:Apache默认使用80端口
九、测试安装是否成功:在浏览器中输入localhost(主机名)
假设:Apache不是安装在本身电脑上
10.查看Apache的目录结构
htdocs目录:网站根目录
Apache只能简单的读取文件里面的内容,而后直接交给浏览器:Apache不能解析文件里面的任何内容
浏览器只能解析HTML和css以及js,不能识别php代码
Apache是以模块化的形式进行工做:须要某个模块进行工做的时候,就加载某个模块
httpd.exe:在Apache的bin目录下,这是Apache服务软件
该软件是在cmd下面运行:须要进入到控制台(CMD:Command)
解决方案:配置环境变量和进入到对应的目录
httpd.exe是搭配命名使用
-M命令:查看Apache总共有哪些模块
-t:测试Apache的配置是否正确
配置文件:是Apache工做的灵魂(Apache的工做受配置文件支配),Apache是彻底按照配置文件的指示和配置进行工做的。/apache/conf/httpd.conf
修改后的效果
注意:配置文件的修改不会改变当前Apache的工做方式(须要重启Apache)
安装独立环境以前卸载集成环境,卸载注意事项
PHP是一种运行在服务器端的脚本语言。
运行在服务器端:浏览器不能识别
Apache自己不能解析任何脚本(包括HTML)
PHP:早期,Personal HomePage,我的主页,perl开发
PHP:后期,PHP Hypertext Preprosessor,超文本预处理器,底层是用C语言开发
PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能很是之高的、独立于架构的、可移植的、动态的脚本语言。是一种普遍用于 Open Source(开放源代码)的尤为适合 Web 开发并能够嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,并且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。
做者:Rasmus Lerdorf
发展历程
1994:1.0我的perl,Personal HomePage
1996:2.0,C语言底层编译
1998:Zend公司负责PHP的规范,3.0版本,zendEngine可以高效的解释PHP语言
2000:4.0,session(会话技术)+输出缓冲等
2004:5.0,zend引擎2代
2.什么是脚本语言?
脚本语言是相对于编译型语言。
编译语言:写好的代码不能直接执行,须要先经过编译器进行编译,获得编译后的结果文件(文件与原代码文件彻底不同),最后执行编译后的结果。如:C,C++,C#,Java等
脚本语言:是一种解释型语言,不须要事先编译,在须要运行的时候,直接编译。脚本语言一般都是作web网站。
网站最耗时间的部分是:网络,用户察觉不到后台脚本语言解析所消耗的时间。
2.解压缩
3.将软件包移动到D:/server
4.重命名
5.PHP安装文件的目录结构
6.证实:php.exe可以解析php代码:在cmd下面使用php.exe
php.exe –f php文件路径
Apache将php当作Apache内部的一个模块来进行处理。
应该在Apache的配置文件中去加载php。
7.修改Apache的配置文件,加载php
LoadModule php5_module php给Apache提供的动态连接的路径
表明了Apache可使用php模块
8.修改Apache配置文件:告诉Apache在何时使用php
将以.php结尾的文件都交给php去处理
AddType application/x-httpd-php .php
9.查看请求Apache的php文件的效果
默认的,php给用户提供了两套配置文件供筛选,可是两套都没有启用。
必需要变成php.ini才能使用
选择开发环境的配置文件:为了保证之后配置文件出错还能从新找回来。复制一份再重命名
修改php配置文件:timezone
若要php的配置文件生效:前提是Apache要加载php配置文件变成Apache本身的。
PHPIniDir php.ini所在的路径
效果
2.双击安装,进入到安装欢迎页
3.点击“next”,进入到协议界面
4.赞成协议,点击“next”进入到安装类型选择界面
5.选择自定义安装:点击“Custom”,进入到自定义安装界面:安装路径
5.1 选择安装路径
5.2 选择数据存储路径
6.修改安装路径和数据存储路径以后,点击“next”进入到安装准备界面
7.点击“install”安装
8.点击“next”继续安装,连续点击两次,进入到完成安装界面
9.点击“finish”完成安装,打开配置准备界面
10.点击“next”,进入实例选择配置界面
11.选择明细配置,点击“next”进入到
12.选择开发者机器,点击“next”进入到数据库使用选择界面
13.选择多功能数据库,点击“next”进入到innodb表空间设置界面
14.默认的不须要修改,点击“next”进入到并发量选择界面
15.选择手动设置,设置并发量为15,点击“next”进入到网络设置界面
16.勾选添加防火墙例外,点击“next”进入到字符集选择界面
17.选择手动选择字符集,并将字符集选择成utf8,点击“next”进入到操做系统配置界面
18.勾选将mysqlbin目录添加到windows的环境变量,点击“next”进入到安全配置界面
注意:不用勾选匿名帐户
19.输入root用户密码,勾选容许远程root用户访问,点击“next”进入到配置待执行界面
20.点击“execute”执行配置:要等到4个白圈,都被勾选才算配置完整
21.点击“finish”完成安装
22.了解mysql安装目录结构
bin目录
data目录
23.验证mysql是否安装成功
24.经过查看服务或者进程
25.经过访问服务器证实服务器能够正常工做。
假设:如今mysql服务器是安装在另一台电脑上。
mysql是一种c/s结构的软件,须要经过客户端去访问服务器:mysql.exe
mysql.exe须要借助cmd运行
访问方式
mysql –hlocalhost –P3306 –uroot –p(建议回车再输入)
26. php操做mysql
PHP不能操做mysql,本身没有这个能力。必须借助第三方扩展才能实现。
PHP必须冒充mysql客户端才能实现访问。
2.指定扩展所在路径:肯定要找到对应的扩展
3.查看效果
主机:一个对应的域名对应的一台电脑,一个域名只对应一个IP,而一台电脑又只能拥有一个IP地址。一台电脑只能作一个网站。
一个网站就是一个文件夹,一台电脑能够有多个文件夹。
虚拟主机:不是真正的主机,经过给网站(文件夹)定义不一样的名字,而后其余用户就能够经过名字来访问一台电脑上的不一样文件夹内的内容。
虚拟主机分类:基于IP的虚拟主机和基于域名的虚拟主机
ip虚拟主机要求一台电脑上是使用ip去对应不一样的文件夹(网站),实际上一台电脑能够有多个IP地址,须要硬件支持,只要在电脑上插上多个网卡(IP绑定在网卡上)
一台电脑上只有一个IP,可是有多个文件夹须要作网站(不一样的网站),用户访问的时候,不容许直接使用ip访问,必需要给一个名字(域名/主机名),在本机上给不一样的文件夹绑定不一样的主机名,因此能够经过不一样的主机名找到不一样的网站。
1.基于域名的虚拟主机开启
2.NameVirtualHost *:80 #开启虚拟主机:监听来自全部的ip地址是80端口
3.增长虚拟主机
<VirtualHost *:80>
#里面表明一个虚拟主机
#主机名:文件夹的别名
ServerName www.itcast.cn
#文件夹:路径
DocumentRoot “D:/class/php150422”
</VirtualHost>
4.重启Apache,要识别对应的配置修改
5.修改本地hosts文件:增长域名对应IP地址的解析
6.权限控制:须要对指定文件夹进行权限控制
<Directory 文件夹路径:一般就是DocumentRoot对应路径>
#权限顺序
Order Deny,Allow #deny和allow的顺序能够颠倒:表明系统读取权限的顺序
#权限控制
Allow from All #容许所有用户访问
Deny from All #禁止全部用户访问
</Directory>
7.容许访问文件列表(目录),当用户没有指定访问哪一个具体文件的时候,直接给用户所有文件列表
Options Indexes FollowSymLinks #FollowSymLinks是表示是否容许软连接
8.系统增长默认访问界面
DirectoryIndex 要访问的首页文件index.html index.php … 系统先找index.html,找不到就向下继续寻找
将全部的虚拟主机放到一个文件中,而后在主配置文件httpd.conf中加载对应的虚拟主机文件便可。
9.先加载虚拟主机配置文件:httpd.conf
10.增长虚拟主机文件,将全部的虚拟主机都虚拟主机文件中维护
11.虚拟主机一旦启用:默认的localhost主机就会失效:新建一个localhost的虚拟主机