Linux中什么是动态网站环境及如何部署
当评论起网站时,我们可能听说过静态和动态这两个词,但却不知道它们的寄义,大概从字面意思相识一些却不知道它们的区别。
这一切可以追溯到网站和网络应用程序,Web应用程序是一个网站,但很多网站不是Web应用程序,比方微博是一个网站也是一个应用程序,但像有的公司的官网是网站但不是网络应用程序。同时,也会经常听到称为网站的是静态网站,称为网络应用的是动态网站。
接下来,我们分别介绍静态网站和动态网站的区别。
静态站点是最基本的网站类型,也是最容易创建的。 它不需要服务器端处理,只需要客户端。 客户端技术是HTML,CSS和JavaScript。 简单来说,它不需要利用后端。 静态网站完全按照其存储方式提供给用户,这意味着页面上的任何内容都不会被用户乃至网站管理员更改,除非重新设计网站或网站管理员直接进入代码进行更改。 没有任何内容存储,除了网站的现实页面;没有效户,没有评论,没有博客帖子或任何交互性。 制作静态网站不需要编程语言,从技术上讲,JavaScript是一种编程语言,但不需要创建静态站点。 但是,如果一个站点利用JavaScript,但没有PHP或任何其他编程语言,它仍然被以为是一个静态站点,由于JavaScript是一种客户端语言。
静态网页由“固定代码”构成,除非网站开辟人员进行更改,否则网页上的任何内容都不会发生变化。 可以把它想象成一个企业宣传册。 这就是为什么静态网站偶然被称为小册子网站的原因,由于它们会为您提供大量与手册雷同的信息。因此,如果需要创建一个只需要获取信息并且不会定期更新的网站,那么创建静态网站会更加简单并且可能更有效。
有一种简单的方法可以确定网站是否是动态的。 如果用户可以与它进行交互,那么它就是一个动态网站。 因此,我们可能访问的大多数网站都是动态网站,无论是知乎,豆瓣,Facebook还是Digital-Tutors,用户都可以与网站进行交互,单单能点击网站中的链接并不能说明题目,像是评论帖子,创建用户个人资料或进行预订更能证明。
动态站点利用PHP等语言与存储在数据库中的信息进行交互。 因此,动态网站的创建要复杂得多且本钱高昂。 不但需要Web托管,还必须创建数据库或服务器。 用于创建动态站点的语言也比客户端语言复杂得多。
大多数动态网站利用内容管理系统来管理他们的内容。通常,开辟人员将为其客户创建自定义CMS(利用PHP和MySQL),但这不是必须的。有大量免费系统可供您利用,如WordPress,Drupal和Joomla。您可能会听说PHP和ASP.NET用于动态生成HTML。这现实上只是意味着那些编程语言可以通过引导,改变和编写HTML,而无需人员现实进入代码并进行更改。通常与动态站点相干的另一个术语是CRUD,它代表创建,读取,更新和删除。当您利用动态站点时,所有这四件事都会发生,由于它们指的是数据库的功能。想想一个博客。在任何博客平台中,无论如何都要乐成,您必须可以大概创建内容,然后才能在页面上阅读或检察该内容。您应该可以大概更新或编辑您的帖子,然后也可以选择删除它们。所有这些工作都发生在数据库中。内容管理系统使这一过程成为可能。
以上内容就是静态网站和动态网站的区别,接下来我们相识一下如何部署动态网站环境。
LNMP 动态网站部署架构是一套由 Linux + Nginx + MySQL + PHP 组成的动态网站系统解决方案,具有免费、高效、扩展性强且资源斲丧低等优良特性。
一.准备工作
在利用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境,他需要具备 C 语言、C++语言、Perl 语言的编译器,以及各种常见的编译支持函数库程序。因此请先配置妥当 Yum 软件仓库,然后把下面列出的这些软件包都统统安装上,在Linux服务器中利用wget命令下载LNMP动态网站部署架构所需的16个软件源码包和1个用于检查效果的论坛网站系统软件包。
二.配置 MySQL 服务
创建一个名为 mysql 的用户,专门用于负责运行MySQL 数据库,解压、编译、安装 MySQL 数据库服务程序,service 命令启动 mysqld 数据库服务。
三.配置 Nginx 服务
Nginx 是一款相当优秀的用于部署动态网站的轻量级服务程序,它最初是为俄罗斯门户站点而开辟的,因其稳定性、功能丰富、占用内存少且并发能力强而备受用户的信任。现在国内诸如新浪、网易、腾讯等门户站点均已利用了此服务。
四.配置PHP服务
PHP(Hypertxt Preprocessor,超文本预处理器)是一种通用的开源脚本语言,发明于 1995年,它吸取了 C 语言、Java 语言及 Perl 语言的很多优点,具有开源、免费、快捷、跨平台性强、效率高等优良特性,是现在 Web 开辟领域最常用的语言之一。
具体配置服务过程,参考《Linux就该这么学》,书里详细介绍了各个步骤的代码实现,清楚直观,是实现配置的好帮手。 |