LEMP 意思是 Linux + Nginx, + MySQL (MariaDB) + PHP。Nginx (发音能同 engine x) 是一款以性能取向的网页服务器, 较 Apache 及 Lighttpd 使用较少内存, 而配置 Nginx 及 PHP 的方法与 Apache 有点不同, 因为 Nginx 是透过 php-fpm (FastCGI Process Manager) 运作的, 以下会示范在 CentOS 7 安装 Nginx, MariaDB 及 PHP.
安装 Nginx
在 RHEL, CentOS 或 Fedora 安装 Nginx, 最简单的方法是先加入 Nginx 的 CentOS 7 yum repository, 然后用 Yum 安装, 输入以下指令安装:
# yum install nginx
安装好 Nginx 网页服务器后, 便可以用 systemctl 启动/停止/重新启动 Nginx, 现在启动 Nginx 及设定开机自动启动:
# systemctl enable nginx.service
启动后, 便可以用浏览器检查 Nginx 是否可以连接, 例如:
http://server-ip/
安装 MariaDB
执行以下指令安装 MariaDB:
启动及设定开机自动执行 MariaDB:
# systemctl enable mariadb.service
执行以下指令设定 MariaDB 的 root 密码, 默认是空密码, 所以建议尽快修改:
完成后可以用测试一下 MariaDB 是否已经启动:
安装 PHP
安装好 PHP 后, 开启 /etc/php.ini, 找到 cgi.fix_pathinfo=1, 将 1 改成 0, 即这样:
cgi.fix_pathinfo=0
储存盘案后, 再开启 /etc/php-fpm.d/www.conf, 找到 listen 一行, 改成这这样:
listen = /var/run/php-fpm/php-fpm.sock
储存盘案后, 可以用以下指令启动 php-fpm
# systemctl enable php-fpm.service
配置 Nginx 及 PHP
Nginx 的 server block 差不多等同 Apache 的 virtual hosts, 以下会透过 server block 设定, 开启 /etc/nginx/conf.d/default.conf
档案会是 Nginx 的默认内容, 即只可以处理静态网页, 要在要设定 Nginx 能编译 php 档案, 及将 index.php 设定成 index 档, 改成这样:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
server { listen 80; server_name server-ip; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } |
储存盘案后, 重新启动 Nginx 便完成了: