PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个wordpress博客网站。

[root@Shining ~]# uname -a
Linux Shining.ACG 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@Shining ~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (CorE)

首先介绍一下LAMP和LNMP

LAMP

    LMAP即Linux+Apache+MysqL/MariaDB+Perl/PHP/Python的首字母缩写。这是一组常用来搭建动态网站或者服务器的开源软件。它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

Linux

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多cpu的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    本次使用的CentOS为Linux的一个发行版。

Apache  

    Apache http Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

    Apache的主程序名叫httpd,这也是我们实验的时候需要安装的程序之一。

MysqL

    MysqL一个关系型数据库管理系统,由瑞典MysqL AB 公司开发,目前属于 Oracle 旗下产品。MysqL 最流行的关系型数据库管理系统,在 WEB 应用方面MysqL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MysqL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MysqL所使用的 sql 语言是用于访问数据库的最常用标准化语言。MysqL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MysqL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

    本次实验使用的数据库软件为MysqL一个分支软件,叫做MariaDB。

@H_930_0@mariaDB数据库管理系统是MysqL一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MysqL包括API和命令行,使之能轻松成为MysqL的代替品。在存储引擎方面,使用X@L_874_51@B(英语:X@L_874_51@B)来代替MysqL的InnoDB。

PHP  

    PHP外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

LNMP

    LNMP和LAMP的区别就在于使用Nginx而不是Apache。

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。

Nginx和Apache的优缺点对比

Nginx 相对 apache 的优点:

    轻量级,同样起web 服务,比apache 占用更少的内存及资源。

    抗并发,Nginx 处理请求是异步非阻塞的,而Apache 则是阻塞型的,在高并发下Nginx 能保持低资源低消耗高性能

    高度模块化的设计,编写模块相对简单。

    社区活跃,各种高性能模块出品迅速啊。

apache 相对Nginx 的优点:

    rewrite ,比Nginx 的rewrite 强大。

    模块超多,基本想到的都可以找到。

    少bug ,Nginx 的bug 相对较多。

    超稳定。

wordpress

    wordpress是一种使用PHP语言开发的博客平台,用户可以在支持PHPMysqL数据库的服务器上架设属于自己的网站。也可以把 wordpress当作一个内容管理系统(CMS)来使用。wordpress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MysqL数据库开发的。用户可以在支持 PHPMysqL数据库的服务器上使用自己的博客wordpress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。wordpress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。wordpress拥有成千上万个各式插件和不计其数的主题模板样式。 

下面正式进入实验阶段

Linux,即CentOS的安装在这里不再赘述。

Apache安装

    Apache的软件包名字为httpd,使用yum安装httpd:

[root@Shining ~]# yum install httpd

    httpd安装好之后需要将其启动,启动之前,我们来看一下网络情况:

[root@Shining ~]# ss -tl
State      recv-Q Send-Q Local Address:Port                 Peer Address:Port                
LISTEN     0      5      192.168.122.1:domain                   *:*                    
LISTEN     0      128        *:ssh                      *:*                    
LISTEN     0      128    127.0.0.1:ipp                      *:*                    
LISTEN     0      100    127.0.0.1:smtp                     *:*                    
LISTEN     0      32        :::ftp                     :::*                    
LISTEN     0      128       :::ssh                     :::*                    
LISTEN     0      128      ::1:ipp                     :::*                    
LISTEN     0      100      ::1:smtp                    :::* 
[root@Shining ~]# ss -tnl
State      recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      5      192.168.122.1:53                       *:*                  
LISTEN     0      128          *:22                       *:*                  
LISTEN     0      128    127.0.0.1:631                      *:*                  
LISTEN     0      100    127.0.0.1:25                       *:*                  
LISTEN     0      32          :::21                      :::*                  
LISTEN     0      128         :::22                      :::*                  
LISTEN     0      128        ::1:631                     :::*                  
LISTEN     0      100        ::1:25                      :::*

    可以看到http服务的80端口是没有处于监听状态的。

    接下来,我们启动httpd服务:

[root@Shining ~]# systemctl start httpd

此时,在浏览器中输入localhost会出现Apache的欢迎页面(此处使用CentOS 6.8演示,Cent OS 7效果相同):

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

MysqL

    CentOS 7认安装了MariaDB,如果机子上没有安装数据库软件的话,可以使用下面的方式安装:

[root@Shining ~]# yum install MysqL

安装完之后开启MysqL服务:

[root@Shining ~]# systemctl start mariadb
[root@Shining ~]# ss -tl
State      recv-Q Send-Q Local Address:Port                 Peer Address:Port                
LISTEN     0      50         *:MysqL                    *:*                    
LISTEN     0      5      192.168.122.1:domain                   *:*                    
LISTEN     0      128        *:ssh                      *:*                    
LISTEN     0      128    127.0.0.1:ipp                      *:*                    
LISTEN     0      100    127.0.0.1:smtp                     *:*                    
LISTEN     0      128       :::http                    :::*                    
LISTEN     0      32        :::ftp                     :::*                    
LISTEN     0      128       :::ssh                     :::*                    
LISTEN     0      128      ::1:ipp                     :::*                    
LISTEN     0      100      ::1:smtp                    :::*                    
[root@Shining ~]# ss -tnl
State      recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      50           *:3306                     *:*                  
LISTEN     0      5      192.168.122.1:53                       *:*                  
LISTEN     0      128          *:22                       *:*                  
LISTEN     0      128    127.0.0.1:631                      *:*                  
LISTEN     0      100    127.0.0.1:25                       *:*                  
LISTEN     0      128         :::80                      :::*                  
LISTEN     0      32          :::21                      :::*                  
LISTEN     0      128         :::22                      :::*                  
LISTEN     0      128        ::1:631                     :::*                  
LISTEN     0      100        ::1:25                      :::*

可以看到,MysqL服务已经开启,监听3306端口。

进入MariaDB

[root@Shining ~]# MysqL
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (C) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'Help;' or '\h' for Help. Type '\c' to clear the current input statement.

MariaDB [(nonE)]>

显示数据库

@H_260_2@mariaDB [(nonE)]> show databases; +--------------------+ | Database           | +--------------------+ | information_scheR_594_11845@a | | db_name            | | MysqL              | | perfoRMANce_scheR_594_11845@a | | test               | | testdb             | +--------------------+ 6 rows in set (0.00 seC) MariaDB [(nonE)]>

创建数据库

@H_260_2@mariaDB [(nonE)]> create database db_name;

切换数据库

@H_260_2@mariaDB [(nonE)]> use db_name Database changed MariaDB [db_name]>

创建用户:格式为create user '用户名'@'允许用户使用哪个主机登陆' identified by '密码'

    %意思是不限制登陆主机。

@H_260_2@mariaDB [db_name]> create user 'username'@'%' identified by '123456';

用户赋予权限:

@H_260_2@mariaDB [db_name]> grant all privileges to 'username'@'%';

显示用户权限:

@H_260_2@mariaDB [(nonE)]> show grants for 'username'@'%'; +---------------------------------------------------------------------------------------------------------+ | Grants for username@%                                                                                   | +---------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'username'@'%' IDENTIFIED BY @R_675_5747@D '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' | | GRANT ALL PRIVILEGES ON `db_name`.`db_name` TO 'username'@'%'                                           | +---------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 seC)

退出数据库

@H_260_2@mariaDB [db_name]> exit Bye

数据库的准备工作完成。

接下来进行PHP的安装:

[root@Shining ~]# yum install PHP PHP-MysqL

安装完成之后来到httpd服务的主目录

[root@Shining ~]# cd /var/www/html/

编辑文件PHPinfo.PHP

[root@localhost html]# vim PHPinfo.PHP

内容为:

<?PHP
echo PHPinfo();

保存并退出。然后,打开浏览器,输入主机ip/PHPinfo.PHP就可以看到PHP的信息:

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

接下来,下载wordpress

网址为https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz

[root@localhost html]# wget https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz

解压,

[root@localhost html]# tar xvf wordpress-4.5.3-zh_CN.tar.gz

得到wordpress文件夹,将文件夹里的内容复制到/var/www/html下,其中有一个wp-config-sample.PHP,该文件wordpress配置文件。复制为wp-config.php即可生效。

编辑wp-config.php

// ** MysqL 设置 - 具体信息来自您正在使用的主机 ** //
/** wordpress数据库名称 */
define('db_name', 'database_name_here');

/** MysqL数据库用户名 */
define('DB_USER', 'username_here');

/** MysqL数据库密码 */
define('DB_password', '@R_675_5747@d_here');

/** MysqL主机 */
define('DB_HOST', 'localhost');

/** 创建数据表认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

文件里的database_name_here,username_here,@R_675_5747@d_here,localhost,分别改成数据库名称数据库用户名数据库密码,数据库主机。保存退出便会生效。

接下来,在浏览器中输入wordpress主机地址,即可访问wordpress

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

这是提示用户输入数据库信息的页面,如果用户没有配置过wp-config.php文件便会出现页面

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

在这里输入数据库信息,提交;

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

欢迎页面,输入标题用户名,密码等信息。点击安装wordpress

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

接下来进行Nginx的安装与配置。

首先,PHP需要安装一个PHP-fpm软件:

[root@localhost wordpress]# yum install PHP-fpm

启动PHP-fpm:

[root@localhost wordpress]# service PHP-fpm start

安装Nginx

[root@localhost yum.repos.d]# yum install Nginx

配置Nginx配置文件/etc/Nginx/Nginx.conf

[root@Shining /var/www/html]# vim /etc/Nginx/Nginx.conf

添加修改以下内容

server {
        listen       80; 
        server_name  172.16.253.159;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        LOCATIOn / { 
            root   /var/www/html;
            index  index.html index.htm index.PHP;
        }   
        #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   html;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #LOCATIOn ~ \.PHP{
        #    proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        LOCATIOn ~ \.PHP{
            root           /var/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.PHP;
            fastcgi_param  SCRIPT_FILename  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
     }

重启Nginx,重启PHP-fpm

[root@localhost yum.repos.d]# service Nginx restart
Stopping Nginx:                                            [Failed]
StarTinNginx:                                            [  OK  ]
[root@localhost yum.repos.d]# service PHP-fpm restart
Stopping PHP-fpm:                                          [  OK  ]
StarTinPHP-fpm:                                          [  OK  ]

注意,在启动Nginx之前要关闭httpd服务,因为两者都使用80端口,会造成冲突。

访问网站:

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

注意,如果未启动PHP-fpm服务,则会出现以下错误

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

总结:

本次实验采用yum安装,所有技术水平较低。实验过程中多次出现问题,好在都解决了。

下面是出现的一些问题。

1、yum源问题。CentOS自带的yum里没有Nginx,自己添加了repo文件。但是执行了一次yum clean all,yum makecache。问题便出现了,原因是有一个源指向cdrom,但是找不到,我挂载cdrom,仍然出问题。然后检查了autofs服务,正常。后来才发现是镜像文件坏掉了……

2、Apache和Nginx区别。开始实验时,我在Apache和Nginx之间摇摆,也不知道这两个的区别,于是就都试了一遍。Apache很简单,安装好启动服务就可以用了。但是Nginx还需要配置,我在这里卡住好久。因为是yum安装,所有配置文件的路径跟网上的教程讲的有所不同,又花了很长时间找配置文件。然后又花了很长时间去配置。最后由于没有启动PHP-fpm,导致出错。结果有花了好长时间才找到这个让人抓狂的错误原因。

3、MysqL的问题。一开始忘了命令。又回去看视频学习。结果第一次添加用户没有添加成功。导致wordpress一直报错。第二次,wordpress由报错,重启后不再报错。原因现在仍然不知道。

4、编写博客时电脑出了问题,重启之后丢了一半的内容(哭瞎了)。以后一定边写边保存!

原创文章,作者:wangshuai,如若转载,请注明出处:http://www.178linux.com/60558

大佬总结

以上是大佬教程为你收集整理的CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站全部内容,希望文章能够帮你解决CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: