搭建自己的wordpress 博客
一、搭建LAMP环境
1\ 安装APACHE
yum -y install httpd
systemctl start httpd
linux 报错 Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details
systemctl status httpd.service
-------------------------------------
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2019-12-24 14:25:04 CST; 29s ago
Docs: man:httpd(8)
man:apachectl(8)
Process: 8210 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
Process: 8209 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 8209 (code=exited, status=1/FAILURE)
Dec 24 14:25:04 VM_0_17_centos httpd[8209]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Dec 24 14:25:04 VM_0_17_centos httpd[8209]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Dec 24 14:25:04 VM_0_17_centos httpd[8209]: no listening sockets available, shutting down
Dec 24 14:25:04 VM_0_17_centos httpd[8209]: AH00015: Unable to open logs
Dec 24 14:25:04 VM_0_17_centos systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 24 14:25:04 VM_0_17_centos kill[8210]: kill: cannot find process ""
Dec 24 14:25:04 VM_0_17_centos systemd[1]: httpd.service: control process exited, code=exited status=1
Dec 24 14:25:04 VM_0_17_centos systemd[1]: Failed to start The Apache HTTP Server.
Dec 24 14:25:04 VM_0_17_centos systemd[1]: Unit httpd.service entered failed state.
Dec 24 14:25:04 VM_0_17_centos systemd[1]: httpd.service failed.
-------------------------------------
因为80端口被占用,所以关闭后再重启就好了
>如果需要可以设置为开机自启动 systemctl enable httpd
修改httpd.conf文件 /etc/httpd/conf/httpd.conf
修改 APACHE 的重写参数 AllowOverride None改为 AllowOverride All
:%s#AllowOverride None#AllowOverride All#g
2\ 安MYSQL
yum 安装 mariadb-server 取名为mariadb
yum install mariadb-server mariadb
启动mariadb mysql 数据库
systemctl start mariadb
配置数据库管理员用户密码
执行
mysql_secure_installation
一路回车y
3\ 安装PHP环境
安装PHP依赖库
yum -y install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl
安装phpMyAdmin ,数据库管理
yum -y install phpmyadmin
---访问php环境时候发现不能使用
---需要升级高版本
yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum search php72 //查看有哪些php最新版的安装包文件
yum install mod_php72w php72w-mysqlnd php72w-cli php72w-fpm
修改Apache里的phpMyAdmin配置,设置数据源配置地址,对外暴漏地址为 http://{ip}/phpmyadmin
Alias /phpmyadmin /usr/share/phpMyAdmin
并且修改phpMyAdmin 里面的权限限制
Require ip 127.0.0.1
Require ip ::1
注释为
#Require ip 127.0.0.1
#Require ip ::1
在下面添加
Require all granted
重启Apache使服务生效
4\防火墙开启端口
systemctl start firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
#重新加载防火墙信息服务
firewall-cmd --reload
查看开放的端口服务firewall-cmd --zone=public --list-ports
systemctl restart firewalld
二、搭建wordpress环境
1\ 下载、安装wordpress
下载wordpress 安装包 https://cn.wordpress.org/download/
官网下载 WordPress-5.3.1.tar.gz
tar -xzf WordPress-5.3.1.tar.gz
cp -avr WordPress-5.3.1 /var/www/html/
mv /var/www/html/WordPress-5.3.1 /var/www/html/wordpress
2\创建mysql 数据库、用户
创建数据库wordpress,工具创建不写SQL了
GRANT SELECT,INSERT,UPDATE,CREATE,DROP ON wordpress.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
3\ 运行wordpress环境
http://{ip}/wordpress
4\ 开启apache 压缩、缓存,php压缩
apache 压缩,缓存
在 /etc/httpd/conf/httpd.conf 文件最后写入
# on zip
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule filter_module modules/mod_filter.so
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json
#no zip suffix file- gif,jpg,jpeg,png
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
#no zip suffix file- exe,tgz,gz
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
#zip text/html text/css text/plain
AddOutputFilterByType DEFLATE text/*
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
#zip php
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
# Netscape 4.x text/html
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 no-zip
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
#cache use
LoadModule expires_module modules/mod_expires.so
<IfModule mod_expires>
ExpiresActive On
ExpiresDefault A3600
ExpiresByType image/gif A2592000
#cache time 2592000/36000/24
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A604800
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/javascript A604800
ExpiresByType text/css A604800
Header set Cache-Control "max-age=604800, public"
Header set Cache-Control "max-age=604800, public"
</IfModule>
在 php.ini 文件中修改参数
zlib.output_compression = Off,改成zlib.output_compression = On,
把;zlib.output_compression_level前面的;去掉,后面的-1改成1~5的数值。
zlib.output_compression_level=5
;zlib.output_handler必须保持注释掉,因为此参数和前面的设置冲突——官方的说法。
一般情况下缓存是4k(output_buffering = 4096)。