原文:How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7
安装 Nginx
增加 CentOS 7 EPEL 库
$ sudo yum install epel-release
安装 Nginx
$ sudo yum install nginx
启动 Nginx
$ sudo systemctl start nginx
如果运行了防火墙,运行以下命令允许 http 和 https 传输
$ sudo firewall-cmd --permanent --zone=public --add-service=http $ sudo firewall-cmd --permanent --zone=public --add-service=https $ sudo firewall-cmd --reload
浏览器访问以下地址,验证是否安装成功。(你会看到默认的 Nginx 页面)
http://域名或IP地址/
设置 Nginx 在 boot 启动
$ sudo systemctl enable nginx
安装 MariaDB
MariaDB 是 Mysql 的一个分支,由 Mysql 之父 Michael Widenius 主导开发,开源社区维护。
Michael Widenius 早前以 10亿美元的价格将自己创建的公司 MySQL AB 卖给了 SUN,MySQL 的所有权也落入了 SUN 的手中,MySQL 有被闭源的潜在风险。
外加 SUN 收购 Mysql 后发展的很慢,Michael Widenius 认为 Mysql 在 SUN 手里没有前途,所以另辟途径开发了 MariaDB,MariaDB 完全兼容 Mysql 的同时,有些方面比 Mysql 更好,被视为开源数据库 MySQL 的替代品。安装 MariaDB
$ sudo yum install mariadb-server mariadb
启动 MariaDB
$ sudo systemctl start mariadb
MariaDB 已经运行,为了安全我们运行以下脚本
$ sudo mysql_secure_installation
提示会问你当前的 root 密码,因为刚安装 MariaDB,密码为空,直接回车即可。之后会问是否设置密码,输入 Y 进行设置。 提示类似下面这样:
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. New password: password Re-enter new password: password Password updated successfully! Reloading privilege tables.. ... Success!
剩下的一路回车接受默认值即可。 最后设置 MariaDB 在 boot 启动
$ sudo systemctl enable mariadb
安装 PHP
安装 php 及 php-mysql 和 php-fpm 包
$ sudo yum install php php-mysql php-fpm
配置 PHP 处理器
- 安全设置
$ sudo vi /etc/php.ini
cgi.fix_pathinfo = 0
- php-fpm 配置
$ sudo vi /etc/php-fpm.d/www.conf
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nobody listen.group = nobody
user = nginx group = nginx
重起 PHP 处理器
$ sudo systemctl start php-fpm
设置 php-fpm 在 boot 启动
$ sudo systemctl enable php-fpm
配置 Nginx 执行 PHP
追加 server
$ sudo vi /etc/nginx/conf.d/demo.conf
server {
listen 80;
server_name 域名或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
$ sudo systemctl restart nginx
测试 PHP 执行
创建 info.php 文件
$ sudo vi /usr/share/nginx/html/info.php
<?php phpinfo(); ?>
浏览器访问以下地址:
http://域名或IP地址/info.php