Arch Linux 搭建 LNMP 环境

日期: 05 月 25日, 2014
标签:

LNMP 是一种通用的 Web 服务器架构,包括:

  • Linux,操作系统
  • Nginx,网页服务器
  • MariaDB或MySQL,数据库管理系统
  • PHP,脚本语言

这篇文章记录了在 Arch Linux 上搭建 LNMP 环境的过程。

安装 Nginx

从官方仓库中安装 Nginx:

sudo pacman -S nginx
sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Tengine 是淘宝在 Nginx 基础上派生的开源项目,与 Nginx 兼容,可以从 AUR 中安装:

yaourt -S tengine
sudo systemctl enable tengine.service
sudo systemctl start tengine.service

在浏览器中打开 http://127.0.0.1,应该能看到 Nginx 的默认页面。

安装 MariaDB

从官方仓库中安装 MariaDB:

sudo pacman -S mariadb
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service

设置 root 用户密码:

sudo mysql_secure_installation

完成后重新启动 MariaDB:

sudo systemctl restart mysqld.service

安装 PHP

从官方仓库中安装 PHP:

sudo pacman -S php

编辑 /etc/php/php.ini,将下面的行取消注释:

; 设置为存放 PHP 文件的目录
open_basedir = /usr/share/nginx/html
extension=pdo_mysql.so
extension=mysqli.so

在 Nginx 中启用 PHP

安装php-fpm

sudo pacman -S php-fpm
sudo systemctl enable php-fpm
sudo systemctl start php-fppm

编辑 /etc/nginx/nginx.conf/etc/tengine/tengine.conf

server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;
    location / {
        index index.php;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

重新启动 Nginx、php-fpm

sudo systemctl restart nginx.service
sudo systemctl restart php-fpm.service

参考资料

  1. Arch Linux Wiki: LAMP
  2. Arch Linux Wiki: Nginx
  3. Arch Linux Wiki: MySQL