RHEL / CentOS 7 安装 Nginx, MySQL, PHP (LEMP)


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 安装, 输入以下指令安装:

# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# yum install nginx

安装好 Nginx 网页服务器后, 便可以用 systemctl 启动/停止/重新启动 Nginx, 现在启动 Nginx 及设定开机自动启动:

# systemctl start nginx.service
# systemctl enable nginx.service

启动后, 便可以用浏览器检查 Nginx 是否可以连接, 例如:

http://server-ip/

安装 MariaDB

执行以下指令安装 MariaDB:

# yum install mariadb-server mariadb

启动及设定开机自动执行 MariaDB:

# sudo systemctl start mariadb.service
# systemctl enable mariadb.service

执行以下指令设定 MariaDB 的 root 密码, 默认是空密码, 所以建议尽快修改:

# /usr/bin/mysql_secure_installation

完成后可以用测试一下 MariaDB 是否已经启动:

# mysql -u root -p


安装 PHP

# yum install php php-mysql php-fpm php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

安装好 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 start 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 档, 改成这样:

储存盘案后, 重新启动 Nginx 便完成了:

# systemctl restart nginx

One Response

  1. Pingback: 各种lnmp | linux中国网 06 August 2015
  2. JhaoCian 15 April 2017

Leave a Reply