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