1 网站的基本概念
说白了,网站就是你放一些东西给别人访问,提供一些交互界面的地方。如果你想实现这样一个地方,首先你需要一个可以放东西的地方。这是服务器。其次,我们需要找到这个地方,但是这样的地方有很多,所以我们需要给很多这样的地方贴上标签,然后按照标签去找到这些地方并参观它们。这样就存在一个IP地址,并且每个服务器都有一个唯一的IP地址,这样我们就可以通过它的IP地址找到该服务器。最后,IP 地址是一堆很难记住的数字。有那么多服务器(对应那么多IP地址)。我们根据一堆数字来查找服务器太麻烦了,而且根本记不住。如果有名字就太好了。比如如果能用百度的服务器来记住就更好了。于是就有了域名。为了让我们能够使用域名来查找服务器,我们需要将每个域名映射到服务器的IP地址。我们每次使用域名访问服务器时,都需要将域名转换成IP地址(这个过程就是DNS(Name)服务),然后通过IP地址找到服务器。
事实上,这些概念的实现非常复杂,它们在七层互联网协议中的不同层实现。它们之间的层是相互依赖的。实际情况也更为复杂。例如域名到IP的映射,可以将多个域名映射到同一个IP。这就是虚拟主机的概念。但这些都是以后的事情了。接下来,详细解释每个概念。
1.1 服务器概念
服务器()是提供计算机服务的设备。由于服务器需要响应服务请求并进行处理,因此服务器一般应具有承接服务和保障服务的能力。
服务器的组成包括处理器、硬盘、内存、系统总线等,与通用计算机架构类似。但由于需要提供高可靠的服务,必须在处理能力、稳定性、可靠性、安全性、可扩展性、可用性等方面进行考虑。管理要求比较高。
在网络环境中,根据服务器提供的服务类型,分为文件服务器、数据库服务器、应用服务器、WEB服务器等。
一般来说,服务器是一台可以提供服务的机器,这取决于机器上安装的软件(服务软件)。例如,如果Web服务器提供Web服务(网站访问),则需要Web服务软件等。
1.2 知识产权的概念
IP:,网络之间的互连协议。网络间互连协议是为了连接计算机网络相互通信而设计的协议。在互联网中,它是一组规则,使所有链接到互联网的计算机网络能够相互通信。它规定了计算机在互联网上通信时应遵守的规则。任何厂家生产的计算机系统只要符合IP协议就可以与互联网互连。 IP 地址是唯一的。
1.3 域名
域名(Name)是某台计算机或计算机的名称,由一串用点()分隔的名称组成。它用于标识计算机在数据串中的电子位置(有时也指地理位置,地理位置)。指具有行政自治权的本地区域的域名)。域名是 IP 地址上的“掩码”。域名的目的是便于记住和交流一组服务器(网站、电子邮件、FTP 等)的地址。域名是互联网参与者难忘的名字。
1.4 域名系统
DNS(Name, Name )是互联网上的一个分布式数据库,用于将域名和IP地址相互映射。它可以使用户更方便地访问互联网,而无需记住机器可以直接读取的IP字符串。通过主机名最终获得主机名对应的IP地址的过程称为域名解析(或主机名解析)。
1.5端口
端口可以认为是设备与外界通信的出口。主要是解决我们访问一台服务器时如何确定我们要访问哪个服务程序的问题。例如Web服务(http访问)的端口是80。端口可以分为虚拟端口和物理端口。虚拟端口是指计算机或交换机路由器内部的端口,是不可见的。例如电脑中的80端口、21端口、23端口等。物理端口也称为接口,是可见端口。
2 当我们在浏览器中输入 URL 时会发生什么
前面说过,域名只是IP地址的“掩码”,所以当我们在浏览器中输入域名时,首先要做的就是解析域名,找到域名对应的IP地址。这时浏览器会首先访问本地的DNS服务。说白了,就是本地电脑中保存了一个文件(中间的hosts)。该文件记录了域名和IP地址的映射关系。如果你输入的域名在文件中,浏览器将直接访问该域名对应的IP。地址对应的服务器。如果本地DNS文件中不存在该域名,则浏览器会访问DNS服务器(DNS服务器的IP地址只有少数且比较固定,如114.114.114.114),查询对应的IP DNS 服务器上的域名。
浏览器找到IP后,访问该IP指向的服务器,然后向服务器发出请求。服务器响应后,将相应的内容发送到本机并显示在浏览器中。
DNS解析域名和访问IP的过程涉及到很多机制,这里不再详细讨论。
3 静态网页和动态网页 3.1 静态网页及其访问过程
称为普通网页。静态网页是指一旦写入,内容就不会改变。无论何时任何人访问,显示的内容都是一样的。如果要修改网页内容,必须修改其源代码,然后重新上传到服务器。一般指.html、.htm、.xml等文件,可以直接打开浏览查看。访问流程如下图(以示例为例):
3.2 动态网页及其访问过程
动态网页是指网页文件中除HTML标签外,还包含一些实现特定功能的程序代码。这些程序代码实现了浏览器与服务器之间的交互,即服务器可以根据客户端的不同请求动态生成网页内容。动态网页的后缀名通常根据所使用的编程语言的不同而不同,一般为.asp、.aspx、.cgi、.php、.perl、.jsp等。动态网页可以根据不同的浏览器在不同的时间显示不同的信息。次。访问流程如下(以PHP为例):
4 服务器环境搭建
因为我没有购买服务器,也没有注册域名。我们计划在本地搭建一个服务器环境,使用自己的本地电脑作为服务器。通过本地DNS将域名重新映射到我们的本地IP地址(127.0.0.1)与实际设置服务器没有太大区别。唯一不同的是,这些操作是在另一台IP地址的计算机上进行的,域名也是经过注册(激活DNS服务)并向工信部备案后进行的。
这里我们选择.4服务器软件、php7语言、.7数据库。
4.1 软件下载
.4、文件名:httpd-2.4.33-win64-VC15.zip。官方没有提供编译版本,这里是从社区下载的:
php7.2.6,文件名:VC15 x64 安全:
.7.22、文件名:mysql-5.7.22-(需要注册账号才能下载):
4.2 安装
下载并解压缩文件。为了方便管理,把php、mysql放在同一个文件夹下。该目录是“D:\\”。
4.2.1 目录说明
4.2.2 安装
以管理员身份启动cmd,然后进入目录并调用以下命令:
httpd -k install -n apache
net start apache
httpd -n "apache" -t
- 1
- 2
- 3
以上命令是安装服务并命名为“”;启动服务;如果启动不成功,可以在第三行查看原因。启动成功。第三行起到测试作用。运行结果如下:
另外,卸载服务的方法是以管理员身份运行cmd然后输入:sc()。
(),表示你安装的服务的名称,可以是.4或.4,可以在安装时指定。
4.2.3 配置
“D:\\\conf”目录下有一个名为“httpd.conf”的文件,用记事本打开。并修改部分内容如下:
1.服务器根目录,
修改前:“c:/”
修改后:“D://”,该目录为安装目录,根据自己的目录进行相应修改。
2. 服务名称
修改前:#:80
修改后::80
3.默认网站目录
修改前:“c://”
修改后:“D:///Web/”,这个目录就是你的网页文件放置的目录,即所有的网站文件都在这个文件夹中。是自己定义的。
4.修改根目录选项
修改前:
"c:/Apache24/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
修改后:
"D:/Documents/MyProjects/Web/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
4.2.4 修改本地DNS映射
“C:\\\\etc”文件夹下有一个名为hosts的文件。用记事本打开它并添加以下行:
127.0.0.1 localhost
- 1
这告诉浏览器把这个域名映射到IP地址为127.0.0.1的服务器上,而127.0.0.1指向的服务器就是本机。
4.2.5 启动并测试
将html文件放在网站根目录下,这里是“D:///Web/”,就是4.2.3中修改的目录。
请注意,默认打开的文件是index.html。所以我们在“D:///Web/”中创建一个名为index.html的文件,并编辑以下内容:
<html lang="en">
<body>
Hello world !
body>
html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
启动,“D:\\\bin”下有一个名为.exe的程序,可以用来管理启动、关机和重启。双击,启动后任务栏右下角会有一个图标,左键单击启动服务。
在浏览器地址栏输入:“”,结果如下:
4.3 PHP安装
下载并解压缩文件。这里放置的目录是:“D:\\php”。 php目录介绍如下:
4.4 mysql安装
安装mysql的时候请注意有两个目录,一个是mysql本身的安装目录,一个是存放mysql中数据的目录。为了方便管理,将这两个目录放在同一个目录下:
Mysql安装目录:“D:\\mysql”
Mysql数据存放目录:“D:\\mysql\data”
1、将文件解压到“D:\\mysql”,然后在文件夹中创建数据目录。 mysql目录介绍如下:
2、将“D:\\mysql\bin”添加到环境变量中。为了方便在cmd中调用mysql命令,否则每次调用mysql命令都要输入路径,或者先通过cmd进入文件夹。
3.创建mysql配置文件
在“D:\\mysql”目录下创建“my.ini”文件,内容如下:
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
basedir=D:/Server/mysql
datadir=D:/Server/mysql/data
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
4.初始化数据库
mysqld --initialize
mysqld -install MySQL
net start MySQL
- 1
- 2
- 3
这些命令依次为:初始化数据库、安装数据库服务、启动数据库服务。
5.修改数据库密码
“D:\\mysql\data”文件夹下有一个名为.err的文件夹,“”是计算机名。找到该文件并打开,找到“[Note] A is for root@:”。更改的是初始化数据库root帐户的默认密码。我们只想更改此密码:
mysql -u root -p
Enter password: ***********
set password for root@localhost = password('新密码');
- 1
- 2
- 3
注意:‘;’修改数据库密码后的命令不能丢失。如果想退出mysql,输入quit并回车。
如下图:
4.5 配置php
我们刚刚安装了php、mysql,它们之间有什么关系呢?我们需要让他们一起工作。需要调用php服务,php需要调用mysql服务。首先配置php。
1.构建php配置文件
“D:\\php”目录下有一个名为 php.ini- 的文件。制作一个副本,将其重命名为 php.ini,然后将其放入该文件夹中。这是php的配置文件。
2.修改配置文件
打开httpd.conf文件,目录为“D:\\\conf”,在其中添加以下行:
PHPIniDir "D:/Server/php/"
LoadModule php7_module "D:/Server/php/php7apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
- 1
- 2
- 3
- 4
第一行是加载php的配置文件,第二行是加载php中的一个动态链接库,第三行是把后缀为.php、.html、.htm的文件交给处理。
至此,php已经配置完毕,现在可以解析php文件了。在网站根目录下创建一个名为index.php的文件,写入以下内容:
phpinfo();
?>
- 1
- 2
- 3
重新启动。注意:所有配置需要重启才能生效。并在浏览器地址栏输入“”,如下图:
4.6 php加载MySQL
使用记事本打开 php.ini 文件。这里的目录是“D:\\php”
添加以下行:
extension_dir = "D:/Server/php/ext"
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
- 1
- 2
- 3
第一行是设置php扩展模块的目录,第二行和第三行是加载mysql的动态链接库。
此时php已经可以连接数据库并访问数据库了。在网站根目录下创建一个名为index.php的文件,写入以下内容:
$host = "127.0.0.1"; //mysql主机地址
$user = "root"; //mysql 登录账户
$pwd = "你自己的mysql密码"; //mysql登录密码
$conn = new mysqli($host, $user, $pwd); //连接数据库
if (!$conn) {//判断
echo '连接数据库失败: ' . mysql_error();
}
echo "mysql 连接成功!";
mysqli_close($conn); // 关闭mysql连接
?>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
重新启动。注意:所有配置需要重启才能生效。并在浏览器地址栏输入“”,如下图:
至此,网站服务器环境已经配置完毕。您所需要做的就是将网站代码放入网站的默认目录中。
5 虚拟主机设置
前面说过,多个域名可以映射到同一台服务器上,也就是说一台服务器可以同时托管多个网站。只要域名解析到服务器上,域名就会被映射到一个文件夹上,也就是说这里的一个域名只对应服务器上的一个文件夹。这里你可以想一下,如果(或者其他自主开发的Web服务软件)将域名映射的不是一个文件夹,而是一个IP,这个应该就是我们在购买服务器时谈到的公网IP和内网IP。已找到网络中的内网IP。用于将域名映射到新IP的Web服务软件所在服务器的IP应为公网IP。言归正传,设置虚拟主机主要是一个配置问题。步骤如下:
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。