在 Debian 7 上搭建 LNMP 环境

所属:Linux

最近又在折腾 VPS,主要是因为 Digitalocean 最近抽风得太厉害了,不得不换个新的 IP 地址来缓缓下,就顺便再重新搭个 LNMP 环境来玩玩,虽然之前有折腾过,但是每次重新折腾还是习惯性的去找 Google大神,这次就想记录下安装的过程和了解下所用到的每个安装包和组件,大概是做什么用的,下面就直接进入主题吧。

安装 MySQL

1
(sudo) apt-get install -y mysql-server mysql-client

mysql-serverMySQL 服务器核心程序,服务器端主程序。
mysql-clientMySQL 客户端程序,用于连接并操作 MySQL。用以通过命令行方式登录管理 MySQL 服务器。
在安装的过程,会弹出个界面让你输入 root 用户的密码

初始化数据库默认设置

1
(sudo) mysql_secure_installation

敲完上面那句命令后,期间会询问以下几个问题

  1. 是否修改 root 用户密码?
  2. 是否删除匿名用户?
  3. 是否禁止 root 用户远程登录?
  4. 是否删除默认 test 数据库表呢?
  5. 对于刚才的修改是否重新刷新呢?

基本上一路按 Y 就行了

验证 MySQL 是否安装成功

1
mysql -V

安装 PHP

1
(sudo) apt-get install php5-fpm php5-gd php5-mysql

php5-fpm 服务器端 PHP-FPM 程序,对 Nginx 处理 PHP 很重要。
php5-gd PHP5GD 模块,GD 是一套开源图像处理库,一般 DZ 生成缩略图或者加水印都需要它。
php5-mysql PHP5MySQL 模块,让你的网站可以访问到数据库,此模块必备的。

修改 PHP 默认配置

/etc/php5/fpm/php.ini 配置文件中,找到 cgi.fix_pathinfo=1,将 10,

1
cgi.fix_pathinfo=0

防止 PHP 在无穷的解析匹配路径,避免风险。

安装 Nginx

1
(sudo) apt-get install -y nginx-full

nginx-full Nginx web 服务器完全安装

设置 Nginx 默认配置文件

1
(sudo) vim /etc/nginx/sites-available/default

先找到配置文件,然后修改成内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
server {
# 默认端口
listen 80;
# 默认指向路径
root /usr/share/nginx/www;
# 默认首页
index index.html index.htm;
# 绑定域名
server_name localhost;
location / {
try_files $uri $uri/ /index.html;
}
# 定义错误页
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html
location = 50x.html {
root /usr/share/ngnix/www;
}
#PHP
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
}
}

注意: 如果涉及到修改 Nginx 配置文件的,一定要重启下 Nginx,配置才会生效的。

启动服务

1
2
3
4
5
6
// 启动 Nginx
(sudo) service nginx start
// 重启 Nginx
(sudo) service nginx restart
// 停止 Nginx
(sudo) service nginx stop

如要重启、停止其他服务,把 nginx 替换成 php5-fpmmysql 即可。

验证下是否安装成功

先来验证下 Nginx 服务

在浏览器里访问 http://你的IP ,会出现 Welcome to nginx! 字样,则说明你已经安装成功了。

接着来验证下 PHP 服务

/usr/share/nginx/www/ 下, 新建一个 test.php 文件

1
(sudo) vim /usr/share/nginx/www/test.php

敲入内容如下:

1
2
3
<?php
phpinfo();
?>

然后在浏览器里,访问 http://你的IP/test.php,会出现一个关于 PHP 的相关配置信息,能看到表明你已经成功搭建好了 LNMP 环境。

参考资料