一.什么是LNMP?

介绍: LNMP架构就是:Linux系统下使用Nginx+MySQL+PHP这种网站服务器搭建的架构。 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 Mysql是一个小型关系型数据库管理系统。 PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。 这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统,同时还有基于阿帕奇(Apache)服务的LAMP架构,功能与LNMP架构相似但根据环境需求有所不同。

优点:

  • 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
  • 作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
  • 作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
  • Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

下面是LNMP环境的搭建如果想要搭建LAMP环境可点击访问《CentOS 7 搭建LAMP环境》

二.LNMP搭建:

(1)首先确保linux可以正常访问外网(2)为了方便这里我直接关闭防火墙和selinux,后期可根据需求开启。

[root@localhost ~]# systemctl stop firewalld.service   
[root@localhost ~]# setenforce 0

(3) 安装epel并更新系统。

添加epel源
[root@localhost ~]#yum install \
>https://repo.ius.io/ius-release-el7.rpm \
>https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
添加Webtatic源
[root@localhost ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

(4)安装Nginx。

[root@localhost ~]#yum -y install nginx  //安装
[root@localhost ~]#nginx -v  //查看
    nginx version: nginx/1.20.1

(5)启动Nginx。

[root@localhost ~]#systemctl start nginx.service

(6). 下载并安装MySQL官方的Yum Repository。

[root@localhost ~]#rpm -e mariadb-libs --nodeps   // 删除原先的数据库                
[root@localhost ~]#yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-common-5.7.35-1.el7.x86_64.rpm
[root@localhost ~]#yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-5.7.35-1.el7.x86_64.rpm
[root@localhost ~]#yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm
[root@localhost ~]#yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-client-5.7.35-1.el7.x86_64.rpm
[root@localhost ~]#yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-server-5.7.35-1.el7.x86_64.rpm

输入mysql -V查看是否安装成功,如下所示则说明安装成功

搭建LNMP环境部署WordPress项目介绍_lnmp

(7). 查看MySQL初始密码,配置数据库相关参数:

[root@localhost ~]#systemctl start mysqld.service  //开启数据库服务
[root@localhost ~]#grep "password" /var/log/mysqld.log      #Xx+Q)4AWBUp)这个是我的初始密码
2022-01-21T02:32:11.011259Z 1 [Note] A temporary password is generated for root@localhost: Xx+Q)4AWBUp)

输入上面的随机密码,登陆数据库

[root@localhost ~]#mysql -uroot -p
password:

配置数据库root密码(注意每条命令的分号;)

mysql> set global validate_password_policy=0;  #修改密码安全策略为低
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; //这里我设的密码为12345678
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';  //执行以下命令,授予root用户远权限
mysql>exit  //退出

重启数据库:

[root@localhost ~]#systemctl restart mysqld.service

(8). 安装相关的PHP环境:

[root@localhost ~]#yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64  php70w-pdo.x86_64   php70w-mysqlnd  php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb

(推荐多执行一遍以上指令)

[root@localhost ~]#php -v  //查看,回馈一下信息

PHP 7.0.33 (cli) (built: Dec  6 2018 22:30:44) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies

(9)配置Nginx

- 备份Nginx配置文件

[root@localhost ~]#cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

- 打开Nginx配置文件 需要安装vim或使用vi

[root@localhost ~]#vim /etc/nginx/nginx.conf

找到server大括号内,按i进入编辑模式
//添加下面信息

 location / {
       index index.php index.html index.htm;
            }
             
//添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求。

 location ~ .php$ {
     root /usr/share/nginx/html;    #将/usr/share/nginx/html替换为您的网站根目录,本文使用/usr/share/nginx/html作为网站根目录。
     fastcgi_pass 127.0.0.1:9000;   #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。
     fastcgi_index index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include fastcgi_params;        #Nginx调用fastcgi接口处理PHP请求。
        }

添加或修改配置信息后,文件内容如下图所示:

搭建LNMP环境部署WordPress项目介绍_linux_02

(10)配置PHP并测试

[root@localhost ~]#echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/phpinfo.php
[root@localhost ~]#systemctl restart nginx    //重启nginx
[root@localhost ~]#systemctl start php-fpm  //启动PHP-FPM
[root@localhost ~]#systemctl enable php-fpm   //设置PHP-FPM开机自启动

在浏览器的地址栏输入http://<ECS实例公网IP地址>/phpinfo.php进行访问。

访问结果如下图所示,表示LNMP环境部署成功:

搭建LNMP环境部署WordPress项目介绍_centos_03

(11)下载配置数据库管理工具phpMyAdmin

创建phpMyAdmin数据存放目录,下载phpMyAdmin,这里需要wget工具,没有可点击安装

[root@localhost ~]#mkdir -p /usr/share/nginx/html/phpmyadmin
[root@localhost ~]#wget --no-check-certificate https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip
[root@localhost ~]#ls    //查看下载的安装包

搭建LNMP环境部署WordPress项目介绍_centos_04

解压配置phpMyAdmin

[root@localhost ~]#yum install -y unzip //安装unzip解压工具
[root@localhost ~]#unzip phpMyAdmin-4.0.10.20-all-languages.zip //解压刚刚下载的zip
[root@localhost ~]#mv phpMyAdmin-4.0.10.20-all-languages/*  /usr/share/nginx/html/phpmyadmin  //移动phpMyAdmin文件到数据存放目录

在地浏览器的址栏中,输入http:// <ECS实例公网IP地址>/phpmyadmin,访问phpMyAdmin返回页面如下图所示,说明phpMyAdmin安装成功。

搭建LNMP环境部署WordPress项目介绍_apache_05

输入数据库的账号密码登陆进去后如图所示

搭建LNMP环境部署WordPress项目介绍_centos_06

到这里说明LNMP环境搭建完成了,后期想要搭建论坛、tomcat环境部署、搭建zabbix监控等等,都可以在LNMP的环境上搭建。