名词解释——LAMP、MEAN、Web应用框架等

本文介绍了两种流行的Web开发堆栈:LAMP(Linux, Apache, MySQL, PHP)和MEAN(MongoDB, Express, Angular, Node.js)。LAMP是一种成熟稳定的组合,适用于动态网站和服务的搭建;而MEAN堆栈则更侧重于现代Web应用开发,特别是那些需要实时交互特性的应用。

名词解释

LAMP

LAMP_software_bundle.svg

The LAMP software bundle (here additionally with Squid). A high performance and high-availability solution for a hostile environment

LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:

· Linux操作系统

· Apache网页服务器

· MariaDBMySQL数据库管理系统(或者数据库服务器);

· PHPPerlPython脚本语言

From wiki:http://zh.wikipedia.org/wiki/LAMP

 

MEAN(MongoDB,Express,Angular,Nodejs/Nginx)

MongoDB是一种文件导向数据库管理系统,由C++撰写而成,以此来解决应用程序开发社区中的大量现实问题。NoSql.

Express 是一个简洁而灵活的 node.js Web应用框架提供一系列强大特性帮助你创建各种Web应用

AngularJS是一款开源 JavaScript函式库,由Google维护,用来协助单一页面应用程式运行的。它的目标是透过MVC模式 (MVC) 功能增强基于浏览器的应用,使开发和测试变得更加容易。

Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。

From

http://zh.wikipedia.org/wiki/MongoDB/

http://expressjs.jser.us/

http://zh.wikipedia.org/wiki/AngularJS

http://zh.wikipedia.org/wiki/Nginx

NoSQL

在计算机科学中,非关系型数据库(NoSQL)是一个和之前的关系型数据库(RDBM)有很大不同的另一类数据结构化存储管理系统。非关系型数据库通常没有固定的表结构,并且避免使用join操作。和关系型数据库相比,非关系型数据库特别适合以SNS为代表web 2.0应用,这些应用需要极高速的并发读写操作,而对数值一致性要求却不甚高。

关系型数据库最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID(原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)的特点,C就是一致性(Consistency),这个特点是关系型数据库的灵魂(其他三个AID都是为其服务的),这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。

但是,在网页应用中,尤其是SNS应用中,一致性却不是显得那么重要,用户A看到的内容和用户B看到同一用户C内容更新不一致是可以容忍的,或者说,两个人看到同一好友的数据更新的时间差那么几秒是可以容忍的,因此,关系型数据库的最大特点在这里已经无用武之地,起码不是那么重要了。

相反的,关系型数据库为了维护一致性所付出的巨大代价就是其读写性能比较差,而像微博,facebook这类SNS的应用,对并发读写能力要求极高,关系型数据库已经无法应付(在读方面,传统上为了克服关系型数据库缺陷,提高性能,都是增加一级memcache来静态化网页,而在SNS中,变化太快,memcache已经无能为力),因此,必须用新的一种数据结构化存储来来代替关系数据库。

关系数据库的另一个特点就是其具有固定的表结构,因此,其扩展性极差,而在SNS中,系统的升级,功能的增加,往往意味着数据结构巨大改动,这一点关系型数据库也难以应付,需要新的结构化数据存储。

于是,非关系数据库(NoSQL)应运而生,由于不可能用一种数据结构化存储方式应付所有的新的需求,因此,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

必须强调的是,数据的持久存储,尤其是海量数据的持久存储,还是需要关系数据库这员老将。

From: http://www.sigma.me/2011/06/11/intro-to-nosql.html

 

Web应用框架

Web application framework)是一种计算机软件框架,用来支持动态网站网络应用程序网络服务的开发。这种框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等,可提升代码的可再用性。

PHP

· Zend framework

· CakePHP

· Yii

· ThinkPHP

· symfony

· Laravel

· kohanaphp

· Seagull

· Drupal

· CodeIgniter

· WindFramework

javascript

· jQuery

· MooTools

· Prototype

· dojo

· zk

Python

· django

· pinax

· Grok

· Pylons

· TurboGears

· web2py

· Zope

· Quixote

· snakelets

· snakelets

· PylonsHQ

Ruby

· Ruby On Rails

· Sinatra

JAVA

· Spring

· Struts

· hibernate

· Grails

· Tapestry

· ZK

转载于:https://my.oschina.net/u/1582119/blog/223762

### 如何配置 LAMP (Linux Apache MySQL PHP) 环境 #### 配置概述 LAMP 是一种常见的 Web 开发环境组合,由 Linux、Apache、MySQL 和 PHP 组成。它提供了一个完整的解决方案来运行动态网站和应用程序[^1]。 --- #### 1. 安装 Apache Apache 是最流行的开源 Web 服务器之一,用于处理 HTTP 请求并交付网页内容。可以通过以下命令安装 Apache: ```bash sudo yum install httpd -y ``` 完成安装后,启动 Apache 并将其设置为开机自启: ```bash sudo systemctl start httpd sudo systemctl enable httpd ``` 如果遇到 `Could not reliably determine the server's fully qualified domain name` 的错误,需编辑 Apache 配置文件 `/etc/httpd/conf/httpd.conf`,并将 `#ServerName www.example.com:80` 修改为实际使用的域名或 localhost[^4]。 --- #### 2. 安装 MySQL MySQL 是一个关系型数据库管理系统,常用于存储和管理数据。以下是具体步骤: ##### 下载并添加 Yum 源 ```bash wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm ``` ##### 安装 MySQL ```bash sudo yum install mysql-server -y ``` 启动 MySQL 并设置为开机自启: ```bash sudo systemctl start mysqld sudo systemctl enable mysqld ``` 初始化数据库并获取临时密码: ```bash sudo grep 'temporary password' /var/log/mysqld.log ``` 登录 MySQL 控制台并修改默认密码: ```bash mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; EXIT; ``` --- #### 3. 安装 PHP PHP 是一种广泛使用的脚本语言,适用于开发动态交互式页面。通过以下命令安装 PHP 及其常用扩展: ```bash sudo yum install php php-mysqlnd php-gd php-curl php-json php-opcache -y ``` 重启 Apache 使 PHP 生效: ```bash sudo systemctl restart httpd ``` 验证 PHP 是否正常工作,在 `/var/www/html/` 目录下创建测试文件 `info.php`: ```php <?php phpinfo(); ?> ``` 访问浏览器中的 URL(如 `http://your_server_ip/info.php`),查看 PHP 版本及相关信息[^3]。 --- #### 4. 测试 LAMP 环境 为了确认整个 LAMP 环境已正确配置,可以在 `/var/www/html/` 中放置一个简单的 PHP 文件,例如 `test.php`,内容如下: ```php <?php echo "LAMP environment is working!"; ?> ``` 打开浏览器并导航至该地址(如 `http://your_server_ip/test.php`)。如果显示消息 “LAMP environment is working!” 则表示配置成功[^2]。 --- ### 注意事项 - **安全性**:确保防火墙允许 HTTP 和 HTTPS 访问;关闭不必要的端口。 - **性能优化**:根据需求调整 Apache 和 MySQL 的配置参数以提高效率。 - **备份机制**:定期备份重要数据以防丢失。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值