少年乘勇气,百战过乌孙。这篇文章主要讲述用LAMP实现博客系统相关的知识,希望能为你提供帮助。
一、概述lamp作为一个经典的组合,能够实现一些轻量级web服务的实现。本次用wordpress部署博客。
二、LAMP的部署
1、实现的基础框架使用2台服务器做为服务端,数据库进行分开部署。
文章图片
2、Mariadb的安装和初始化
yum install -ymariadb-server mariadb
文章图片
创建开机启动并启动数据库
[root@localhost ~]# systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
加固mariadb
[root@localhost ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we\'ll need the current
password for the root user.If you\'ve just installed MariaDB, and
you haven\'t set the root password yet, the password will be blank,
so you should just press enter here.Enter current password for root (enter for none):
OK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.Set root password? [Y/n] n
... skipping.By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.This is intended only for testing, and to make the installation
go a bit smoother.You should remove them before moving into a
production environment.Remove anonymous users? [Y/n] y
... Success!Normally, root should only be allowed to connect from \'localhost\'.This
ensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] n
... skipping.By default, MariaDB comes with a database named \'test\' that anyone can
access.This is also intended only for testing, and should be removed
before moving into a production environment.Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.Reload privilege tables now? [Y/n] y
... Success!Cleaning up...All done!If you\'ve completed all of the above steps, your MariaDB
installation should now be secure.Thanks for using MariaDB!
创建数据库账号并创建数据库
MariaDB [(none)]>
create user "wordpress"@"192.168.22.%" identified by \'123456\';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]>
create database wordpress;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]>
grant all on wordpress.* to "wordpress"@"192.168.22.%";
Query OK, 0 rows affected (0.000 sec)
2、HTTPD和php-FPM的安装安装基础软件包和opcache php性能优化扩展包
yum install -y httpd
因为wordpress需要php7.3以上,所以此处用编译安装php-fpm,安装编译依赖包,需要用到EPEL和POWERTOOL源。
yum -y install make gcc libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel
oniguruma-devel openssl-devel
https://www.php.net/distributions/php-7.4.24.tar.gz
解压php源码包
tar xf php-7.4.24.tar.gz
执行编译
./configure \\
--prefix=/etc/php74 \\
--enable-mysqlnd \\
--with-mysqli=mysqlnd \\
--with-pdo-mysql=mysqlnd \\
--with-openssl \\
--with-zlib \\
--with-config-file-path=/etc \\
--with-config-file-scan-dir=/etc/php.d \\
--enable-mbstring \\
--enable-xml \\
--enable-sockets \\
--enable-fpm \\
--enable-maintainer-zts \\
--disable-fileinfo
【用LAMP实现博客系统】配置php环境变量
echo \'PATH=/etc/php74/bin:$PATH\' >
>
/etc/profile.d/php.sh
确认版本信息
文章图片
复制php主配置文件
cd ~/php-7.4.24
cp php.ini-production /etc/php.ini
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
cd /etc/php74/etc
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
cp www.conf.default www.conf
#修改进程所有者
#开启错误日志/etc/php74/etc/php-fpm.conf
error_log = /var/log/php-fpm/php-fpm-error.log
vim /apps/php74/etc/php-fpm.d/www.conf
user apache
group apache
#支持status和ping页面
pm.status_path = /fpm_status
ping.path = /ping
#支持opcache提升性能
mkdir /etc/php.d/
vim /etc/php.d/opcache.ini
[opcache]
zend_extension=opcache.so
opcache.enable=1
设置开机启动并启动服务
[root@localhost html]# systemctl daemon-reload
[root@localhost html]# systemctl enable --now httpd php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
vhost的设定,在/etc/httpd/conf.d/添加vhost.conf
<
virtualhost *:80>
servername blog.test.org
documentroot /var/www/html/wordpress
<
directory /var/www/html/wordpress>
require all granted
<
/directory>
ProxyPassMatch ^/(.*\\.php)$ fcgi://127.0.0.1:9000/var/www/html/wordpress/$1
ProxyPassMatch ^/(status|ping)$ fcgi://127.0.0.1:9000/$1
CustomLog "logs/access_wordpress_log" common
<
/virtualhost>
3、下载wordpress软件包wordpress最新版软件包
解压软件到/var/www/html目录中
tar -xf wordpress-5.8.1.tar.gz -C /var/www/html/
更改属主属组
chown -R apache.apache /var/www/html/wordpress
打开浏览器可以访问虚拟主机
文章图片
文章图片
填写数据连接信息
文章图片
文章图片
文章图片
安装完成
文章图片
管理员首页面板
文章图片
三、总结通过以上安装和配置操作,已经实现了基于vhost的博客。
推荐阅读
- netty系列之:使用netty搭建websocket服务器
- Loganalyzer分析syslog日志
- 一zabbix搭建
- 如何将变量从一个函数传递到另一个函数并通过短代码显示
- 如何将两组帖子传递到WordPress模板
- 如何覆盖woocommerce自定义面板文件(包含在文件夹中)
- 如何输出WordPress小部件以使标题显示在内容下方而不是上方()
- 如何通过自定义日期时间选择器对自定义post类型进行排序()
- 如何通过点击锚链接打开子菜单()