一、LNMP环境介绍
LNMP代表的就是:Linux系统下“Nginx+Mysql+PHP”这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。MYSQL是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入式HTML文本的脚本语言。这4种软件均为免费开源软件,组合到一起,就成为一个免费、高效、扩展性强的网站服务系统。
搭建网站服务器环境有很多可选方案,例如微软的Windows2012、LAMP等。那么为什么要使用LNMP呢?LNMP的优势主要有以下4点。
(1)作为web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,实现更高效的效率。
(2)作为负载均衡服务器:Nginx既可以在内部直接支持Rails和PHP,也可以支持作为HTTP代理服务器对外进行服务。Nginx用C编写,不仅是系统资源开销还是CPU使用效率都比Perlbal要更好的多。
(3)作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也就是作为邮件代理服务器),Last/fm描述了成功并且美妙的使用经验。
(4)Nginx安装非常的简单,配置文件非常简洁,性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
二、LNMP环境搭建
准备一台web服务器,
(一)安装配置部署Nginx
[root@localhost ~]# yum install -y nginx
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl status nginx
测试
[root@localhost ~]# vim /etc/nginx/nginx.conf
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[root@localhost ~]# systemctl restart nginx
(二)php-fpm部署
[root@localhost ~]# yum -y install php-fpm php-mysql php-gd
[root@localhost ~]# systemctl start php-fpm
[root@localhost ~]# systemctl enable php-fpm
[root@localhost ~]# systemctl status php-rpm
[root@localhost ~]# netstat -anpt | grep 9000
测试
[root@localhost ~]# vim /usr/share/nginx/html/index.php
phpinfo();
?>
(三)Mysql部署
[root@localhost ~]# yum install -y mariadb-server mariadb
[root@localhost ~]# systemctl start mariadb.service
[root@localhost ~]# systemctl enable mariadb.service
[root@localhost ~]# mysqladmin password ‘123123’
[root@localhost ~]# mysql -uroot -p123123
MariaDB [(none)]> create database bbs;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on bbs.* to phptest@’192.168.163.169′ identified by ‘123123’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
测试
[root@localhost ~]# vim /usr/share/nginx/html/index.php
$link=mysql_connect(‘192.168.163.169′,’phptest’,’123123′);
if ($link)
echo “Successfuly”;
else
echo “Faile”;
mysql_close( );
?>
(四)上线
[root@localhost ~]# wget https://cn.wordpress.org/wordpress-4.9.1-zh_CN.zip
[root@localhost ~]# unzip wordpress-4.9.1-zh_CN.zip
[root@localhost ~]# rm -rf /usr/share/nginx/html/*
[root@localhost ~]# rm -rf /usr/share/nginx/html/*
[root@localhost ~]# cp -rp /root/wordpress* /usr/share/nginx/html/
[root@localhost ~]# chown -R nginx.nginx /usr/share/nginx/html/*