apache服务器与nginx服务器安装与使用
搭建LAMP体系
LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管理系统(或者数据库服务器) PHP、Perl或Python,脚本语言 虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的“解决方案包”(Solution Packages)。
Apache的简介:
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
Apache的安装:
安装apache及其扩展包 dnf -y install httpd httpd-devel
等待安装完成后,我们启动服务并设定开机自启:
systemctl start httpd |
安装mariadb数据库及其扩展包。
dnf -y install mariadb mariadb-server |
安装php数据库及其扩展包:
dnf -y install php php-mysqlnd php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-mbstring php-bcmath php-mhash |
重启apache服务,检查是否正常运行 systemctl restart httpd
创建一个名为info.php
的文件,将其保存在/var/www/html
,文件内容如下:
|
浏览器访问phpinfo页面。
启动mariadb
数据库并设置开机自启
systemctl start mariadb |
设置mariadb管理员密码并验证密码
mysqladmin -u root password 123 |
验证是否可以正确显示库名:
show databases; |
将wordpress源码传到网站目录下
scp -r * root@192.168.47.150:/var/www/html |
浏览器访问网站ip并按照向导安装:
搭建lnmp体系
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。 Nginx是一个高性能的HTTP和反向代理服务器,也是一IMAP/POP3/SMTP代理服务器。 Mysql是一个小型关系型数据库管理系统。 PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。 这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
nginx 介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
LNMP环境的安装所需命令:
dnf -y install nginx |
nginx配置
systemctl start nginx |
mariadb配置
解释systemctl start mariadb |
php配置
修改php-fpm的用户名和组。
vi /etc/php-fpm.d/www.conf |
systemctl start php-fpm |
phpinfo测试
在/usr/share/nginx/html中建立info.php文件
|
vi /usr/share/nginx/html/info.php |
通过http://IP/info.php 进行访问测试。
将wordpress源码传到网站目录下
scp -r * root@192.168.47.152:/usr/share/nginx/html/ |
在这过程中可能会出现一些问题,比如出现nginx无法重启,显示80端口被占用,只要kill掉占用的端口,再重启nginx进程就好了
apache和nginx的区别
Web 服务器是存储、处理和交付网页给用户的计算机。Apache 服务器和 NGINX 是当今为 Internet 提供支持的两个最著名的 Web 服务器。世界上超过 50% 的网站都运行在这两个 Web 服务器上。它们都旨在处理不同的工作负载并补充各种类型的软件,从而创建广泛的 Web 应用程序堆栈。
NGINX 的好处
NGINX 服务器有很多优点。其中一些如下:
- NGINX 是开源的,可以免费使用。
- NGINX 有一个简单的配置系统,不像 Apache。用户必须编辑不超过两个文件。
- NGINX 在处理 pdf、zip、HTML、mp4、MPEG、Avi-、jpg、gif、png 等静态文件时的性能非常好。
- NGINX 可以毫无困难地处理来自任何 Web 应用程序的流量,并为大多数应用程序提供配置指南。NGINX 提供各种应用程序,例如 WordPress、python、ruby、Drupal、VBulletin、PhpBB 和许多其他流行的应用程序。
- 与 Apache 或 Lighttpd 等其他 Web 服务器相比,NGINX 在处理并发连接、响应时间和资源使用方面更胜一筹。
- NGINX 使网站更快,从而使他们能够获得更高的 Google 排名,因为他们已经对搜索排名算法进行了各种更改,并且最近他们使网站的速度也成为算法的一部分。速度更快的网站会得到 Google 的最大支持。NGINX 可以在流量大的情况下同时有效地处理多个客户端请求。这使网站更加优化和更快。
APACHE的好处
- Apache 是开源的,它可以免费使用,并允许社区开发人员轻松扩展和修改它。
- Apache 是灵活的,因为它存在动态模块。
- Apache 兼容类 Unix 操作系统,如 Linux、BSD 等,以及 MS Windows。
- Apache 拥有庞大的社区,并且在出现任何问题时都可以轻松获得支持。
- Apache 对静态文件具有最佳的交付能力,并且与任何编程语言兼容。
NGINX 和 Apache 之间的关键区别:
- NGINX 是一个开源的高性能 Web 服务器和反向代理服务器,而 Apache 是一个开源的 HTTP 服务器。NGINX 作为反向代理服务器位于专用网络中的防火墙后面,并将客户端请求引导到适当的后端服务器,确保客户端和服务器之间的网络流量顺畅流动。
- 两者之间的根本区别在于它们的架构。NGINX 具有单线程架构,其中多个客户端请求在单个线程中处理。另一方面,Apache 具有多线程架构,其中为请求创建一个进程。NGINX 的事件驱动架构即使在大流量下也能确保更好的性能。
- NGINX 能够很好地处理静态内容。它比 Apache 快 2.5 倍。对于动态内容,Apache 本身在 Web 服务器本身内处理动态内容,而 NGINX 不能在内部处理动态内容,并且依赖于外部进程来执行。
- NGINX 和 Apache 服务器都非常擅长处理安全性,但 NGINX 代码库要小得多,所以从安全角度来看这是一个很大的优势。
- NGINX 完全支持几乎所有的 Unix 操作系统,但对 Windows 的支持是部分的。另一方面,Apache 完全支持类 Unix 操作系统和 MS Windows。
特征 | NGINX | APACHE |
---|---|---|
简单 | NGINX 的开发和创新很复杂,因为它具有复杂的架构来同时处理多个连接。 | Apache 很容易开发,因为它的每个进程一个连接的模型。 |
操作系统支持 | NGINX 在类 Unix 系统上运行,但对 Windows 的支持有限。 | Apache 兼容所有类 Unix 系统,如 Linux、BSD 等,并且完全支持 Windows。 |
基本架构 | Nginx 遵循事件驱动/单线程方法来处理客户端请求 Nginx 在一个线程中处理多个请求 | Apache 遵循进程驱动/多线程方法来处理客户端请求。 |
静态内容 | NGINX 可以同时运行数千个静态内容连接,速度比 Apache 快 2.5 倍。 | 在 Apache 中,为每个请求创建一个新线程 Apache 显示静态内容的速度较慢。 |
动态内容 | NGINX 不处理动态内容。 | Apache 在 Web 服务器本身内处理动态内容。 |
交通处理 | NGINX 可以在流量大的情况下同时有效地处理多个客户端请求。 | Apache 无法同时处理多个客户端请求以及繁重的 Web 流量。 |
内存消耗 | Nginx 使用有限的硬件资源来处理客户端请求并且消耗更少的内存 | Apache的内存消耗更多。 |
用法 | NGINX 被开发为既是 Web 服务器又是反向代理服务器。 | Apache 被开发为 Web 服务器。 |
集中配置 | NGINX 有一个相对简单的配置系统。 Nginx 不允许额外的配置。 | Apache 中的配置系统并不是那么简单。 Apache 允许通过 .htaccess 文件在每个目录的基础上进行额外配置。 |
请求口译 | Nginx 通过 URI(统一资源标识符)来解释客户端请求。 | Apache 传递文件系统位置来解释客户端请求。 |
安全 | Nginx 以更小的代码库提供更好的安全性。 | Apache 还提供了良好的安全性,但与 Nginx 相比,它的安全性较低。此外,Apache 的代码库非常高。 |
功能模块 | NGINX 的核心版本不支持动态模块,但 NGINX plus 是 NGINX 的付费版本,支持动态模块。 模块的加载和卸载很复杂。 | Apache 由可以关闭/打开的动态加载模块组成。 apache中模块的加载和卸载更简单 |
支持 | NGINX 由成立于 2011 年的 NGINX, Inc 公司处理。社区支持通过 IRC(Internet 中继聊天)、邮件列表和堆栈溢出来完成。 | Apache 服务器由来自世界各地的用户社区处理,并由 Apache 软件基金会协调。社区支持通过 IRC、邮件列表、堆栈溢出和论坛完成。 |
公平地说,NGINX 和 Apache 都提供了高质量的性能——它们灵活、有能力、而且很强大。两者都在今天的市场上占有一席之地,但 NGINX 是占主导地位的。新出现时,Apache 占领了网络服务器领域,但逐渐发生了转变。NGINX 是轻量级的,具有事件驱动的架构。因此,它可以更有效地处理繁重的网络流量。而且,它比静态文件处理更快。在流媒体和互联网消费达到顶峰的今天,这些功能更有价值。因此,开发人员发现 NGINX 架构更适合现代 Web 应用程序开发。
结论
NGINX 和 Apache 是当今最流行的两种 Web 服务器。决定哪台服务器最适合我们在很大程度上取决于我们的需求,并将需求与服务器的功能进行映射将有助于确定最佳选择。我们的要求和经验可能会导致您选择其中一种或两种,甚至选择不同的路径。两个都?是的,你没听错。Apache 和 NGINX 也可以成为朋友!通过一起使用它们可以发挥每个服务器的优势。
在当今时代,互联网消费处于历史最高水平,Web 应用程序开发领域竞争激烈,NGINX 和 Apache 的知识非常重要。对于开发人员和组织来说,这对于决定哪些 Web 服务器或哪些 Web 服务器将为他们提供最好的服务是不可或缺的。