LNMP 环境代表 Linux 系统下 Nginx + MySQL + PHP 网站服务器架构。本文档介绍 CentOS 下的 LNMP 环境搭建。
本文档包含软件安装内容,请确保您已熟悉软件安装方法,请参见 CentOS 环境下通过 YUM 安装软件 。
安装配置 Nginx
自动安装 Nginx。输入命令:
yum install nginx service nginx start chkconfig --levels 235 nginx on
启动 Nginx 服务。输入命令:
service nginx restart
。命令行测试 Nginx 服务是否正常运行。输入命令:
wget http://127.0.0.1
。
若服务正常,显示结果如下。--2013-02-20 17:07:26-- http://127.0.0.1/ Connecting to 127.0.0.1:80... connected. HTTP request sent, awaiting response... 200 OK Length: 151 [text/html] Saving to: `index.html' 100%[===================================>] 151 --.-K/s in 0s 2013-02-20 17:07:26 (37.9 MB/s) - `index.html' saved [151/151]
浏览器中测试 Nginx 服务是否正常运行。访问 CentOS 云服务器公网 IP。
若服务正常,显示结果如下。
安装配置 MySQL
安装 MySQL。输入以下命令:
- 适用于 CentOS 7.0 或以后版本:
yum install mariadb mariadb-server
- 适用于 CentOS 6.8 或以前版本:
yum install mysql mysql-server mysql-devel
- 适用于 CentOS 7.0 或以后版本:
启动 MySQL 服务。输入命令:
service mysqld start
安装mariadb的启动方式为 systemctl start mariadb.service
同时可以将其改为开机启动 systemctl enable mariadb.service 启动后配置:mysql_secure_installation
可参考:http://www.jb51.net/article/47727
通过mysql -u root -p登录 8 9可做可不做
登录 MySQL ,删除空用户。输入命令:
mysql>select user,host,password from mysql.user; mysql>drop user ''@localhost;
修改 root 密码。输入命令:
mysql>update mysql.user set password = PASSWORD('此处输入您新设密码') where user='root'; mysql>flush privileges;
安装配置 PHP
- 安装 PHP 。输入命令进行安装:
yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
- 安装所需组件使 PHP 支持 MySQL、FastCGI 模式。
yum install php-tidy php-common php-devel php-fpm php-mysql
Nginx 与 PHP-FPM 集成
启动 PHP-FPM。输入命令启动 PHP-FPM 服务:
service php-fpm start
。输入命令查看 PHP-FPM 默认配置:
cat /etc/php-fpm.d/www.conf |grep -i 'listen ='
返回结果为:listen = 127.0.0.1:9000
,表明 PHP-FPM 默认配置的监听端口为 9000,只需修改配置,将 PHP 解析的请求转发到 127.0.0.0:9000 处理即可。修改 Nginx 配置。
输入命令查找 Nginx 配置文件:nginx -t
使用vi
命令修改该配置文件:
在配置文件中找到以下片段,修改红色部分:
server { listen 80; root /usr/share/nginx/html; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;
# 设置nginx的默认首页文件(上面已经设置过了,可以删除)
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
4. 修改完成后,按“ Esc ”键,输入“ :wq ”,保存文件并返回。
5. 查看配置是否正确。输入命令:cat /etc/nginx/nginx.conf
。
6. 配置完成后,重启服务。输入命令:service nginx restart
。
环境配置验证
用以下命令在 web 目录下创建 index.php:
vim /usr/share/nginx/html/index.php
写入如下内容:
<?php
echo "<title>Test Page</title>";
echo "hello world";
?>
在浏览器中,访问 CentOS 云服务器公网 IP\index.php ,查看环境配置是否成功。如果页面可以显示“hello world”,说明配置成功。ps:直接访问公网地址是不会成功的 因为起作用的会是上面的index.html
腾讯云配置 https://cloud.tencent.com/document/product/213/2125