Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


CentOS 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

2014-11-27 09:22    评论: 29 收藏: 22 分享: 13    

LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用。正如其名称所暗示的, LEMP 包是由 Linux、nginx、MariaDB/MySQL 和 PHP 组成的。在传统的 LAMP 包中使用的 Apache HTTP 协议服务器性能低下而且难于大规模集群,相比来说 nginx 的高性能及轻量级等特性,正是其的替代方案。 MariaDB 是一款社区支持驱动的 MySQL 数据库的分支,其功能更多性能更佳。PHP,服务端编程语言,具体是由 PHP FastCGI 的增强版 PHP-FPM 组件来处理,生成网页动态内容。

(LCTT 译注:为何采用 LEMP 而不是 LNMP 的缩写?据 https://lemp.io/ 的解释:Nginx 的发音是 Engine-X,重要的发音而不是首字母,而且 LEMP 实际上是可读的,而 LNMP 看起来只是字母表。)

这篇文章里,我们示范如何在 CentOS 操作平台上安装 LEMP 包。我们安装的目标是 CentOS 6 和 CentOS 7 两个操作平台,如有必要会指出它们的不同。

第一步: Nginx

让我们在 CentOS 上安装 nginx 作为第一步,然后对它作些基本的配置,比如使其能引导时启动和对防火墙做个性化设置

安装 Nginx

让我们从它的官方的 RPM 源来安装一个预构建的稳定版本的 nginx 包。

在 CentOS 7 系统上:

$ sudo rpm --import http://nginx.org/keys/nginx_signing.key
$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
$ sudo yum install nginx 

在 CentOS 6 系统上:

$ sudo rpm --import http://nginx.org/keys/nginx_signing.key
$ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
$ sudo yum install nginx 

注意在安装 nginx RPM 包之前,如果您没有导入 nginx 的官方 GPG 密钥的话,会出一如下所示的警告:

warning: /var/tmp/rpm-tmp.KttVHD: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY

启动 Nginx

安装完成后,nginx 是不会自动启动的。现在让我们来启动它吧,还要做些配置让其可以随着操作系统启动而启动。我们也需要在防火墙里打开 TCP/80 端口,以使得可以远程访问 nginx 的 web 服务。所有这些操作、设置都只需要输入如下命令就可实现。

在 CentOS 7 系统上:

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload 

在 CentOS 6 系统上:

$ sudo service nginx start
$ sudo chkconfig nginx on
$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo service iptables save 

测试 Nginx

nginx 的默认文档要目录是 /usr/share/nginx/html。默认的 index.html 文件一定已经在这目录下了。让我们检测下是否可以访问到这个测试 web 页,输入 http://nginx的ip地址/ 访问。

如果您看到的是如上所示的页面的话,说明 nginx 已经正常启动。继续往下。

1234下一页
查看其它分页:

发表评论


最新评论

我也要发表评论

linux 2015-6-14 23:19
1
灰度龙 发表于 2015-6-14 21:37 的评论:
配置nginx的default.conf文件完成后,重启出现如下错误:
nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since 日 2015-06-14 21:30:10 CST; 45s ago
     Docs: http://nginx.org/en/docs/
  Process: 4954 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS)
  Process: 6469 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Main PID: 1695 (code=exited, status=0/SUCCESS)

6月 14 21:30:10 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
6月 14 21:30:10 localhost.localdomain nginx[6469]: nginx: [emerg] invalid number of arguments in "try_files" directive in /e...onf:34
6月 14 21:30:10 localhost.localdomain nginx[6469]: nginx: configuration file /etc/nginx/nginx.conf test failed
6月 14 21:30:10 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1
6月 14 21:30:10 localhost.localdomain systemd[1]: Failed to start nginx - high performance web server.
6月 14 21:30:10 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
当我去除不是很理解的:try_files $uri =404;这行后,重启正常。请问这行是怎么意思呢?
有关 try_files 的解释可参见: http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
在 0.7.51 之后,才支持 =404 这样的数字参数,所以请确认你没写错,你的 nginx 版本足够新。
回复
灰度龙 2015-6-14 21:37
配置nginx的default.conf文件完成后,重启出现如下错误:
nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since 日 2015-06-14 21:30:10 CST; 45s ago
     Docs: http://nginx.org/en/docs/
  Process: 4954 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS)
  Process: 6469 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Main PID: 1695 (code=exited, status=0/SUCCESS)

6月 14 21:30:10 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
6月 14 21:30:10 localhost.localdomain nginx[6469]: nginx: [emerg] invalid number of arguments in "try_files" directive in /e...onf:34
6月 14 21:30:10 localhost.localdomain nginx[6469]: nginx: configuration file /etc/nginx/nginx.conf test failed
6月 14 21:30:10 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1
6月 14 21:30:10 localhost.localdomain systemd[1]: Failed to start nginx - high performance web server.
6月 14 21:30:10 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
当我去除不是很理解的:try_files $uri =404;这行后,重启正常。请问这行是怎么意思呢?
4 回复
linux 2015-3-7 19:12
1
IAMblacker 发表于 2015-3-7 16:53 的评论:
最后放test.php的文件夹位置错了~~~nginx配置文件里面是/usr/share/nginx/html,小编你写放在 /var/www/html/ 目录~~~~
谢谢指正!我修改啦~~
回复
IAMblacker 2015-3-7 16:53
最后放test.php的文件夹位置错了~~~nginx配置文件里面是/usr/share/nginx/html,小编你写放在 /var/www/html/ 目录~~~~
6 回复
roach_sinai 2014-11-28 15:33  新浪微博网友评论
@蓝蓝小脚丫 挺好的!
回复
朝花夕拾.. 2014-11-28 09:12
谢谢分享
回复
来自 - 江西南昌 的 MSIE/Windows 用户 2014-11-28 08:11
1
火云仙圣 发表于 2014-11-27 11:33 的评论:
回复@Linux中国:@Linux中国 即便不是你杜撰的,你也最好改正,错误的东西你也要传播吗?百度都没有,这不是理由!lemp lnmp希望你百度下
百度了,lemp也可以这么叫,Nginx 发音为 Engine X....
12 回复
来自 - 广东佛山 的 Firefox/Windows 用户 2014-11-28 01:47
LEMP?LNMP?大家弄明白再评论吧,反正小编没乱搞
回复
GongBiao 2014-11-28 00:49
哇,LEMP这个高端呀,有时间要测试研究一下!
回复
顺便_粪 2014-11-27 13:02  新浪微博网友评论
Repost
回复
svolence 2014-11-27 12:03  新浪微博网友评论
@我的印象笔记
回复
火云仙圣 2014-11-27 11:33  新浪微博网友评论
回复@Linux中国:好吧,尊重原文也对。
回复
Linux中国 2014-11-27 11:33  新浪微博网友评论
回复@火云仙圣:国外原文如此,而且不是一个地方这样说,话说好像lnmp才是我们国内杜撰的。
回复
QQ920924960 2014-11-27 11:33  新浪微博网友评论
是LNMP吧?
回复
痴就是病字里一个知 2014-11-27 11:33  新浪微博网友评论
每次在openSUSE上部署都会有问题。到底是英语不过关。
回复
Linux中国 2014-11-27 11:33  新浪微博网友评论
不知道何时出现了一个LEMP的缩写法,究竟应该称之为LNMP还是LEMP?支持LNMP的点"支持",支持LEMP的请"评论"。//@RSnoder:LEMP是LNMP的小号吗?
1 回复
威谷子V 2014-11-27 11:33  新浪微博网友评论
@有道云笔记收藏
回复
火云仙圣 2014-11-27 11:33  新浪微博网友评论
回复@Linux中国:@Linux中国 即便不是你杜撰的,你也最好改正,错误的东西你也要传播吗?百度都没有,这不是理由!lemp lnmp希望你百度下
回复
JohnFuck 2014-11-27 11:33  新浪微博网友评论
微博不是人工发的吧
回复
Linux中国 2014-11-27 11:33  新浪微博网友评论
回复@火云仙圣:又不是我杜撰的。
回复
12下一页

热点评论

来自 - 江西南昌 的 MSIE/Windows 用户 2014-11-28 08:11
百度了,lemp也可以这么叫,Nginx 发音为 Engine X....
12
IAMblacker 2015-3-7 16:53
最后放test.php的文件夹位置错了~~~nginx配置文件里面是/usr/share/nginx/html,小编你写放在 /var/www/html/ 目录~~~~
6
灰度龙 2015-6-14 21:37
配置nginx的default.conf文件完成后,重启出现如下错误:
nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since 日 2015-06-14 21:30:10 CST; 45s ago
     Docs: http://nginx.org/en/docs/
  Process: 4954 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS)
  Process: 6469 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Main PID: 1695 (code=exited, status=0/SUCCESS)

6月 14 21:30:10 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
6月 14 21:30:10 localhost.localdomain nginx[6469]: nginx: [emerg] invalid number of arguments in "try_files" directive in /e...onf:34
6月 14 21:30:10 localhost.localdomain nginx[6469]: nginx: configuration file /etc/nginx/nginx.conf test failed
6月 14 21:30:10 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1
6月 14 21:30:10 localhost.localdomain systemd[1]: Failed to start nginx - high performance web server.
6月 14 21:30:10 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
当我去除不是很理解的:try_files $uri =404;这行后,重启正常。请问这行是怎么意思呢?
4
火云仙圣 2014-11-27 10:33
@Linux中国 人家是首字母组合,哪有把音标写上去的,不要杜撰好吗!你也不是权威
4
Linux中国 2014-11-27 11:33
不知道何时出现了一个LEMP的缩写法,究竟应该称之为LNMP还是LEMP?支持LNMP的点"支持",支持LEMP的请"评论"。//@RSnoder:LEMP是LNMP的小号吗?
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。