A Coder

Coding My Dream!

0%

在Debian 7上配置Nginx + php-FPM + apc + MariaDB-完美的LEMP套件(一)

配置 Debian 是作为Linux Web服务器,是一个非常不错的选择,她是当前仅次于Centos的最受欢迎的服务器操作系统。我非常喜爱在系统上使用apt/dpkg/gedbi命令去安装和更新软件包,这非常方便。

安装一个功能完善的php 服务器环境,你需要安装一整套的配套软件,包括一个网页服务器,一个数据库。在本篇文章中,我们将安装配置nginx, php, php-fpm, apc 和 MariaDB。

Nginx是一个新潮的网页服务器,它被设计成为能承受巨大网络流量而且使用最少的内存和CPU占用量。在Nginx出现之前,独步武林的网页服务器是Apache。然而,随着互联网的越来越流行,就需要一个更快速,效率更高的网页服务器。


Nginx vs Apache
Apache 的设计是模块化的,具拥有很多的功能,但是大部的功能在常规的网站中都是用不上的,它的设计可能是为了迎合所有人的需求,但是最后的结果是制造了一个重量级的且包含大部分不常用功能的网页服务器。
Nginx 在另一方面是非常时髦和极速的网页服务器,主要集中在速度、扩展性及性能上。关于它的强大的技术已经超出了本文的范围。我们可能在后面作一些介绍。能告诉你的信息是,这个网站就是运行在Nginx上。
现在,抛开那些更深的讨论,让我们开始吧!

  1. 在Debian下安装Nginx

Debian的官方包中已经有了Nginx包,所以你不需要再去其他地方找了,使用apt-get来安装它。

apt-get install nginx

现在运行Nginx

service nginx start

这时在浏览器中打开以下网址来访问Nginx服务器

http://localhost/

你将看到欢迎信息

Welcome to nginx!

重要提示
为了更好的管理的Nginx服务器,这有几样东西需要你记住。Nginx的配置文件能在以下目录找到

/etc/nginx

root@localhost:/etc/nginx# ls
conf.d    koi-win     naxsi.rules scgi_params  uwsgi_params
fastcgi_params  mime.types    nginx.conf  sites-available  win-utf
koi-utf   naxsi_core.rules  proxy_params  sites-enabled

我建议你不要修改 nginx.conf 。我们的替代方案是给每一个虚拟主机/网站创建单独的配置文件保存在以下目录

/etc/nginx/sites-available
/etc/nginx/sites-enabled

这里和Apache相似,sites-enabled 包含的配置文件将会被启用,这些文件都是指向sites-available 文件夹下配置文件的符号链接。

配置一个虚拟主机
现在,我们已经安装好了Nginx,是时候配置一个虚拟主机了。这就是在真实的网站服务器配置你的网站。
在 /etc/nginx/sites-available 文件夹里能看到一个名为default的文件,它是一个创建我们自己的配置文件的模板文件。我们只要拷贝它并命名为你的网站。

cp default binarytides.com
root@localhost:/etc/nginx/sites-available# ls
binarytides.com  default

我们选择网站的名称作为配置文件的名称,这样我们就能很容易的记住和维护。

现在打开binarytides.com这个配置文件,并根据你的需求进行修改。
你能看到一个server节点,如下

server {
  #listen   80; ## listen for ipv4; this line is default and implied
  #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

  root /usr/share/nginx/www;
  index index.html index.htm;

  # Make site accessible from http://localhost/
  server_name localhost;

第一个要配置的就是server_name,这个就是你的网站网址,比如

server_name binarytides.com

或者

server_name binarytides.com www.binarytides.com

当有人在浏览器中打开binarytides.com,Nginx会根据HTTP header中包含的hostname去选择和搜索匹配的server节点,当找到匹配的server节点,将会使用这部分的配置。
网站另一个要配置的东西是网站的根目录。默认的目录是/usr/share/nginx/www ,你可能希望将它改为其他目录。

通常的做法是给每个虚拟主机分别建立一个目录他,如下

/usr/share/nginx/www/binarytides.com/
/usr/share/nginx/www/google.com/

所以创建一个合适的目录并且将根目录设置指向到这个目录,如

...
root /usr/share/nginx/www/binarytides.com;
...

在完成以上修改后,保存配置文件,并且创建一个符号链接到 /etc/nginx/sites-enabled 目录。

root@localhost:/etc/nginx/sites-available# ls
binarytides.com  default
root@localhost:/etc/nginx/sites-available# cd ..
root@localhost:/etc/nginx# cd sites-enabled/
root@localhost:/etc/nginx/sites-enabled# ln -s ../sites-available/binarytides.com 
root@localhost:/etc/nginx/sites-enabled# ls
binarytides.com  default
root@localhost:/etc/nginx/sites-enabled#

现在测试一下你的配置文件

nginx -t
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最后一行的输出内容必须为successful ,否则有错误会显示。可能会有一些警告,我们可以在后面修正。

最后,为了让新配置生效,我们需要重启Nginx。

service nginx restart
Restarting nginx: nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx.
root@localhost:/etc/nginx/sites-enabled#

这样,新的配置就生效了。现在创建一个新的index.html文件到相应的虚拟主机根目录,从浏览器打开它,你就能看到了。

原文:[install-nginx-php-fpm-mariadb-debian][1]
[1]: http://www.binarytides.com/install-nginx-php-fpm-mariadb-debian/