基于LAMP的博客平台搭建

时间:2021-08-10 12:54:45

部署LAMP

       有两种方式:

              一种基于module模块方式

              一种基于Fast CGI方式

       centos6上不支持Fast CGI方式,所以centos6上不能使module方式部署,我们这里介绍基于module模块方式搭建。

----------------------------------------------------------------------------------------------

基于模块形式部署LAMP

1、准备linux操作系统

       准备了centos7操作系统

2、安装httpd(apache)

       yum install httpd

       默认主站点是/var/www/html

       vim  /etc/httpd/conf/httpd.conf

       修改DirectoryIndex  index.html

              DirectoryIndex   index.php   index.html

       启动服务:

              systemctl  start  httpd

       确定80端口打开,80端口是httpd服务监听的端口。

基于LAMP的博客平台搭建

3、安装php

       yum install php

       安装PHP会自动依赖安装另外几个包

       php-cli php-common

       ----------------------------------

       展示包安装的文件:

       [root@localhost ~]# rpm -ql php

       /etc/httpd/conf.d/php.conf (添加一个httpd的配置文件,加载了php模块)

       /usr/lib64/httpd/modules/libphp5.so (加载了一个php模块)

       /var/lib/php/session (创建了一个会话目录,apache用户要对该目录有写权限)

       /var/www/icons/php.gif

       --------------------------------

       [root@localhost ~]# rpm -ql php-cli

       /usr/bin/phar

       /usr/bin/phar.phar

       /usr/bin/php

       /usr/bin/php-cgi

       /usr/share/doc/php-cli-5.3.3

       /usr/share/doc/php-cli-5.3.3/README

       /usr/share/doc/php-cli-5.3.3/README.FastCGI

       /usr/share/man/man1/php.1.gz

       ------------------------------------------

       [root@localhost ~]# rpm -ql php-common

       /etc/php.d  php配置文件目录)

       /etc/php.d/curl.ini

       /etc/php.d/fileinfo.ini

       /etc/php.d/json.ini

       /etc/php.d/phar.ini

       /etc/php.d/zip.ini

       /etc/php.ini    php的主配置文件)

       /usr/lib64/php

       /usr/lib64/php/modules PHP的各种模块)

       /usr/lib64/php/modules/curl.so

       /usr/lib64/php/modules/fileinfo.so

       /usr/lib64/php/modules/json.so

       /usr/lib64/php/modules/phar.so

       /usr/lib64/php/modules/zip.so

       /usr/lib64/php/pear

       ----------------------------------------------

       /etc/php.ini配置文件中修改php时区信息,其他各种设置,可以参考上面php设置内容

       httpd的配置文件中添加了php.conf这个配置文件所以要重启httpd服务。

              systemctl  reload  httpd

       查看httpd加载的模块:

       httpd  -M 查看模块截图

基于LAMP的博客平台搭建

4、测试PHP是否能用

       在主站点下编译文件:

       cd /var/www/html

       vim index.php

       测试代码:

              <?php

              echo date("Y/m/d");

              phpinfo();

              ?>

       在浏览器端测试,

基于LAMP的博客平台搭建

5、安装mariadb-server数据库服务端,会依赖安装mariadb

              yum install mariadb-server

       启动mariadb服务

              systemctl  start  mariadb

       查看3306端口:

基于LAMP的博客平台搭建

运行安全脚本

              mysql_secure_install

              root设定密码

       echo -e ‘\ny\njiake\njiake\ny\nn\ny\ny\n’ | mysql_secure_install

       进入数据库创建用户jiake

              create  user  'jiake'@'IP' identified  by  'jiake';

       创建数据库blog

              create databaseblog;

       为用户jiake授权

              grant all onblog.* to jiake;

       查看mysql.user表中的用户jiake

基于LAMP的博客平台搭建

6php程序要想访问数据库,必须要加载连接数据库模块

       安装php-mysql

       yum install php-mysql

       安装文将如下:

       [root@centos6-route3 html]# rpm -qlphp-mysql

       /etc/php.d/mysql.ini

       /etc/php.d/mysqli.ini

       /etc/php.d/pdo_mysql.ini

       /usr/lib64/php/modules/mysql.so (普通,只能连接mysql

       /usr/lib64/php/modules/mysqli.so (新型,只能连接mysql

       /usr/lib64/php/modules/pdo_mysql.so (可以连接其他类型的数据库)

       需要重新启动httpd服务:

              systemctl reloadhttpd

       (注意:在模块方式中,只要是修改或添加了httpd的配置文件,或者php的配置文件,都需要重启或重新加载httpd服务。)

7、测试php连接数据库

       cd /var/www/html

       vim index.php

       <?php

       $mysqli=newmysqli("172.17.251.235","root","jiake");

       if(mysqli_connect_errno()){

              echo "连接数据库失败!";

              $mysqli=null;

              exit;

       }

              echo "连接数据库成功!";

       $mysqli->close();

       ?>

       测试:

基于LAMP的博客平台搭建

8、安装PhpMyadmin

       https://www.phpmyadmin.net/downloads/

       下载支持上面安装的php版本的对应phpmyadmin版本

       解压

       unzip  phpMyAdmin-4.0.10.20-all-languages

       拷贝到主站点下,并改名

       cp -rphpMyAdmin-4.0.10.20-all-languages /var/www/html/pma

 

       需要安装一个php-mbstring以提供模块支持

       yum install php-mbstring

       安装的文件如下:

       [root@centos6-route3 pma]# rpm -qlphp-mbstring

       /etc/php.d/mbstring.ini

       /usr/lib64/php/modules/mbstring.so

       重新启动httpd服务

       systemctl reloadhttpd

9、用浏览器打开,如:

       http://172.17.251.235/pma

       使用数据库中的账号登录,可以使用管理员账户。

       测试:

基于LAMP的博客平台搭建基于LAMP的博客平台搭建

10、安装WordPress,搭建站

       https://cn.wordpress.org/

       解压:

              tar  xvf  wordpress-4.8.1-zh_CN.tar.gz

       拷贝到主站点下:

       cp  -r  wordpress /var/www/html/wdpss

       cd  /var/www/html/wdpss

       cp  wp-config.sample.php  wp-config.php

       修改wp-config.php

       vim wp-config.php

       /** WordPress数据库的名称 */

       define('DB_NAME','blog');

       /** MySQL数据库用户名 */

       define('DB_USER','jiake');

       /** MySQL数据库密码 */

       define('DB_PASSWORD','jiake');

       /** MySQL主机 */

       define('DB_HOST','172.17.251.235'); (一定要指定数据库的地址)

11、可以在浏览器中就行安装了

       如:http://172.17.251.235/wdpss

       测试:

基于LAMP的博客平台搭建

基于CGI接口的fpm方式部署LAMP

其基本步骤与基于module方式部署的方式相同的,只是安装的一个软件是不同的。

基于fpm模式安装软件的是:httpd  php-fpm php-mysql  mariadb-server

这里只列出不同的地方:

php卸载,替换为php-fpm

1、安装php-fpm

       yum install php-fpm

       注意:php-fpm是一个独立的进程,所以需要启动该进程

       systemctl startphp-fpm

       该进程占用的是9000端口。

       测试截图:

       (显示服务端口)

       修改配置:

              vim /etc/php-fpm.d/www.conf

              可以修改时区以及其他各种php设置,将监听端口设置为监听所有的端口

              listen127.0.0.1:9000 ---> listen 9000

              listen.allowed_clients= 127.0.0.1 (改行注释掉默认就支持允许所有地址访问,也可以添加多个地址,以逗号分隔)

       -----------------------------------------

       [root@localhost wp]# rpm -ql php-fpm           

       /etc/logrotate.d/php-fpm

       /etc/php-fpm.conf

       /etc/php-fpm.d

       /etc/php-fpm.d/www.conf

       /etc/sysconfig/php-fpm

       /run/php-fpm

       /usr/lib/systemd/system/php-fpm.service

       /usr/lib/tmpfiles.d/php-fpm.conf

       /usr/sbin/php-fpm

       /usr/share/doc/php-fpm-5.4.16

       /usr/share/doc/php-fpm-5.4.16/fpm_LICENSE

       /usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default

       /usr/share/fpm

       /usr/share/fpm/status.html

       /usr/share/man/man8/php-fpm.8.gz

       /var/log/php-fpm

       ----------------------------------------

2、修改httpd配置文件,使其连接到php-fpm

       vim /etc/httpd/conf/httpd.conf

       DirectoryIndex index.html --->DirectoryIndex index.php index.html

 

       vim /etc/httpd/conf.d/fpm.conf

       ----------

       AddTypeapplication/x-httpd-php .php (添加对应资源的处理程序)

       AddTypeapplication/x-httpd-php-source .phps

       ProxyRequestsOff

       ProxyPassMatch  ^/(.*\.php)$  fcgi://127.0.0.1:9000/var/www/html/$1

       -----------

       重启php-fpm服务生效

       systemctlrestart php-fpm

       测试截图:

       (查看php-fpm的端口)

3、安装php-mysql

       要想使php-fpm程序连接到数据库需要安装php-mysql

       该工具提供的只是连接数据库的模块:

       [root@localhost wp]# rpm -ql php-mysql

       /etc/php.d/mysql.ini

       /etc/php.d/mysqli.ini

       /etc/php.d/pdo_mysql.ini

       /usr/lib64/php/modules/mysql.so

       /usr/lib64/php/modules/mysqli.so

       /usr/lib64/php/modules/pdo_mysql.so

       提供了三种连接模块,需要重启php-fpm服务

       systemctlrestart php-fpm

 后续的步骤和基于module的方式是相同的。

(需要注意的是,在该模式下,修改或添加httpd的相关配置文件,需要重新加载httpd服务,修改或添加php-fpm的配置文件,需要重新启动php-fpm服务。)

----------------------------------------------------------------------------------------------

实验中出现的错误现象,解决办法


1、  httpd服务启动不开:配置文件的问题,使用httpd  -t 进行配置文件检测。

2、  php安装完成后不能解释执行php的文件:安装php后,在httpd的配置文件/etc/httpd/conf.d/目录下加了一个php.conf的配置文件,相当于修改了httpd的配置文件,需要重新加载httpd服务,可执行systemctl restart httpd systemctl reload httpd

3、  php程序无法连接到数据库:原因1:指定的地址一定要是mariadb服务器的IP地址,不要写localhost;原因2:连接数据库的用户和密码一定要正确;原因3:在安装了php-mysql后需要启动httpd服务,php-mysql相当于修改了php的配置文件,phphttpd是绑定到一块的,所以需要重新启动httpd服务,在基于fpm的方式安装的php,需要重新启动php-fpm.service服务。

4、  PhpMyAdmin无法启动:该软件必须要安装php-mbstring该工具才可以正常启动。

5、  无法安装WordPress:需要在解压到主站点目录下的wp-config.sample.php改名,改为wp-config.php


本文出自 “Linux运维” 博客,请务必保留此出处http://jk6627.blog.51cto.com/12002684/1975354