拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Linux
  3. 正文

LNMP+Wordpress部署完整流程

2023年12月14日 977点热度 0人点赞 0条评论

目录

  • 一、WordPress简述
  • 二、基础架构
  • 三、准备工作
    • 1.配置yum源
      • (1)备份原有的yum源
      • (2)使用wget命令下载
      • (3)使用wget命令下载
      • ​(4)清除yum缓存
      • (5)刷新缓存
    • 2.关闭防火墙和selinux
      • (1)关闭防火墙
      • (2)开机不自启
  • 四、编译安装Nginx
    • 1.安装Nginx的依赖包
    • 2.下载Nginx的安装包
    • 3.创建nginx运行用户
    • 4.解压并配置nginx
    • 5.编译安装
    • 6.测试nginx是否安装成功
      • (1)配置环境变量
    • 7.系统添加Nginx服务
      • (1) 创建 nginx.service 文件
      • (2)以 systemctl 方式启动 Nginx
      • (3)查看Nginx的服务
      • (4)查看Nginx的服务状态
      • (5)配置Nginx服务开机自启
    • 8.测试nginx
  • 五、二进制安装Mysql
    • 1.安装数据库前检查
      • (1)系统环境配置检查
      • (2)清理安装环境
      • (3)检查mysql必要包libaio
    • 2.创建用户,组,创建目录
      • (1)已有的lvm挂载目录:
      • (2)创建组和用户
    • 3.下载mysql安装包并解压
    • 4、做软连接
    • 5、修改权限
    • 6、配置环境变量(root权限即可)
      • (1)配置环境变量
      • (2)测试——版本查看
    • 7、准备参数文件
      • (1)下载参数文件
      • (2)修改参数
      • (4)创建err文件,并改权限,否则无法启动mysql
    • 8、初始化MYSQL并检查相关目录及文件
      • (1)根据my.cnf初始化数据库
      • (2)从err日志文件中查看初始化后的数据库密码
    • 9、启动测试
    • 10、设置密码# set the default password
      • (1)赋值随机密码至变量defaultmysqlpwd
      • (2)更改密码为rootroot
      • (3)链接mysql.sock到/tmp/mysql.sock
      • (4)如果报错: error while loading shared libraries: libtinfo.so.5
    • 11、systemctl启动方式
      • (1)利用/mysql/app/mysql/support-files/mysql.server服务
      • (2)编辑mysql中的参数增加值-修改本机对应配置
      • (3)拷贝启动脚本到/etc/init.d/目录下,并改名mysqld
      • (4)重新加载系统服务
      • (5)启动MySQL数据库
      • (6)设置开机自启
  • 五、编译安装PHP
    • 1.     安装依赖软件包
    • 2.     下载安装包
      • (1)下载
      • (2)解压php压缩包
    • 3.安装php
      • (1)配置安装php
    • 4.编译安装
    • 5、完成后再安装pear
    • 6.创建 php.ini 配置文件
    • 7.设置php-fpm配置文件
      • (1)配置php-fpm文件
      • (2)配置www.conf
    • 8.启动php-fpm
    • 9.配置php-fpm系统环境变量
    • 9.重载环境变量
    • 10.配置php-fpm开机自启
    • 11.重载systemctl
    • 12.停止php-fpm并用systemctl启动,开机自启
  • 六、配置Nginx支持PhP
    • 1.添加Nginx配置
      • (1)添加Nginx配置支持PHP
      • (2)重启nginx
    • 2.添加PHP测试文件
    • 3.刷新网站查看
  • 七.LNMP上线WordPress
    • 1.下载并解压wordpress安装包
    • 2、nginx权限技术局创建
      • (1)配置nginx
      • (2)重启nginx
      • (3)创建数据库
    • 3、部署wordpress
      • (1)wordpres开始安装
      • (2)创建wordpress数据库
      • (3)授予权限
      • (4)连接数据库-使用localhost,提示报错。
      • (5)使用IP地址连接数据库(ip地址或127.0.0.1)
      • (3)提交正确界面
    • (4)填写界面
      • (5)安装wordpress
      • (6)查看表数据
    • 5、登录出现问题:
    • 6、登录wordpress-成功

部分转自:https://blog.csdn.net/l1727377/article/details/132452022

一、WordPress简述

WordPress是一个开源的内容管理系统(CMS),用于创建和管理网站。它是使用PHP语言编写的,并使用MySQL数据库进行数据存储。具有大量的主题和插件,拥有庞大的社区支持,用户可以通过论坛、博客、教程等途径获取帮助和分享经验。

总之,WordPress是一个强大而灵活的网站建设工具,适用于各种规模和类型的网站建设项目。无论是个人用户还是企业机构,都可以通过WordPress实现他们的网站目标。

二、基础架构

本次项目主要用到LNMP(Linux+Nginx+Mysql+PHP)架构。

1.系统版本:Oracle Linux 7
2.MySQL版本:MySQL 5.7.40
3.nginx版本:1.9.9
4.PHP版本:

三、准备工作

1.配置yum源

(1)备份原有的yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

(2)使用wget命令下载

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(3)使用wget命令下载

注意:如果没有wget命令,请使用下面的命令

yum install -y wget

​(4)清除yum缓存

[root@myhost1 ~]# yum clean all

(5)刷新缓存

[root@myhost1 ~]# yum makecache

2.关闭防火墙和selinux

(1)关闭防火墙

[root@myhost1 ~]# systemctl stop firewalld

(2)开机不自启

[root@myhost1 ~]# systemctl disable firewalld
[root@myhost1 ~]# vi /etc/sysconfig/selinux

修改为SELINUX=disabled之后保存退出。

四、编译安装Nginx

1.安装Nginx的依赖包

# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel

2.下载Nginx的安装包

# wget https://nginx.org/download/nginx-1.9.9.tar.gz

3.创建nginx运行用户

# useradd -s /sbin/nologin -M nginx

4.解压并配置nginx

[root@myhost1 ~]# tar zxvf nginx-1.9.9.tar.gz -C /usr/local/

[root@myhost1 ~]# cd /usr/local/nginx-1.9.9/

./configure --prefix=/usr/local/nginx --with-http_ssl_module
如果报错:
./configure --prefix=/usr/local/nginx --with-openssl=/usr/bin/ --with-http_ssl_module

5.编译安装

[root@myhost1 nginx-1.9.9]# make && make install

6.测试nginx是否安装成功

(1)配置环境变量

vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin/
# source ~/.bash_profile
# nginx -V

7.系统添加Nginx服务

(1) 创建 nginx.service 文件

# vi /lib/systemd/system/nginx.service
[root@myhost1 ~]# vi /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx /usr/local/nginx/conf/nginx.conf -s reload
ExecStop=/usr/local/nginx/sbin/nginx /usr/local/nginx/conf/nginx.conf -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

(2)以 systemctl 方式启动 Nginx

[root@myhost1 ~]# systemctl daemon-reload #重新加载系统服务
[root@myhost1 ~]# systemctl start nginx #启动nginx

(3)查看Nginx的服务

# netstat -ntlp | grep nginx(查看端口)

(4)查看Nginx的服务状态

# ps -ef | grep nginx

如图nginx服务已经启动。

 

(5)配置Nginx服务开机自启

[root@myhost1 ~]# systemctl enable nginx

nginx部署成功。

8.测试nginx

http://192.168.20.253

五、二进制安装Mysql

1.安装数据库前检查

(1)系统环境配置检查

--https://www.topunix.com/post-8941.html

(2)清理安装环境

yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my*
rm -rf /var/lib/mysql

(3)检查mysql必要包libaio

rpm -qa |grep libaio
yum install libaio -y

2.创建用户,组,创建目录

(1)已有的lvm挂载目录:

mkdir -p /mysql/app
mkdir -p /mysql/data
mkdir -p /mysql/log
mkdir -p /mysql/backup
mkdir -p /mysql/data/3306/data 
mkdir -p /mysql/log/3306

(2)创建组和用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

3.下载mysql安装包并解压

cd /mysql/app
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
tar zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz

4、做软连接

便于后面对mysql的版本一目了然。

[root@mysql51 app]# ln -s mysql-5.7.40-linux-glibc2.12-x86_64 mysql

5、修改权限

chown -R mysql:mysql /mysql

6、配置环境变量(root权限即可)

(1)配置环境变量

vi ~/.bash_profile
PATH=$PATH:/mysql/app/mysql/bin:$HOME/bin
source ~/.bash_profile

(2)测试——版本查看

[root@mysql51 ~]# mysql --version
mysql Ver 14.14 Distrib 5.7.40, for linux-glibc2.12 (x86_64) using EditLine wrapper

7、准备参数文件

(1)下载参数文件

cd /mysql/data/3306
wget https://download.topunix.com/MySQL/config-MySQL5.7/my.cnf.linux
mv my.cnf.linux my.cnf

(2)修改参数

bind_address= 192.168.1.51
general_log_file=/mysql/log/3306/mysql51db-general.err
slow_query_log_file=/mysql/log/3306/mysql51db-query.err
log-error=/mysql/log/3306/mysql51-error.err

(3)修改权限

chown mysql:mysql my.cnf

(4)创建err文件,并改权限,否则无法启动mysql

touch /mysql/log/3306/mysql51db-error.err
chown -R mysql:mysql /mysql/log/3306/mysql51db-error.err

8、初始化MYSQL并检查相关目录及文件

(1)根据my.cnf初始化数据库

mysqld --defaults-file=/mysql/data/3306/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql --datadir=/mysql/data/3306/data

(2)从err日志文件中查看初始化后的数据库密码

[root@mysql51 data]# cat /mysql/log/3306/mysql51db-error.err
[Note] A temporary password is generated for root@localhost: 7Ja<%zc&+ofQ

9、启动测试

/mysql/app/mysql/bin/mysqld_safe  --defaults-file=/mysql/data/3306/my.cnf --datadir=/mysql/data/3306/data --user=mysql

如果启动正常,3306端口开启,则说明配置正确。

10、设置密码# set the default password

(1)赋值随机密码至变量defaultmysqlpwd

defaultmysqlpwd=`grep 'A temporary password' /mysql/log/3306/mysql51db-error.err | awk -F "root@localhost: " '{ print $2}' |tail -n1`

(2)更改密码为rootroot

mysql -uroot -p"${defaultmysqlpwd}" --connect-expired-password <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootroot'; 
EOF

(3)链接mysql.sock到/tmp/mysql.sock

ln -s /mysql/data/3306/mysql.sock /tmp/mysql.sock

(4)如果报错: error while loading shared libraries: libtinfo.so.5

ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

11、systemctl启动方式

(1)利用/mysql/app/mysql/support-files/mysql.server服务

cd /mysql/app/mysql/support-files/ 
cp mysql.server mysql.server.bak

(2)编辑mysql中的参数增加值-修改本机对应配置

vi /mysql/app/mysql/support-files/mysql.server
basedir=/mysql/app/mysql
datadir=/mysql/data/3306/data
mysqld_pid_file_path=/mysql/data/3306/mysql.pid
if test -z "$basedir"
then
basedir=/mysql/app/mysql
bindir=/mysql/app/mysql/bin
if test -z "$datadir"
then
datadir=/mysql/data/3306/data
fi
sbindir=/mysql/app/mysql/bin
libexecdir=/mysql/app/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="/mysql/app/3306/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
将语句:
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null & 
更改为(指定my.cnf):
$bindir/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &

(3)拷贝启动脚本到/etc/init.d/目录下,并改名mysqld

注:如果数据库有多个实例,可以将mysql改为多个,比如mysql3306,mysql3307,没mysql3308等,配置多个自动启动实例。

[root@localhost mysql]# cp /mysql/app/mysql/support-files/mysql.server /etc/init.d/mysqld

(4)重新加载系统服务

# systemctl daemon-reload

(5)启动MySQL数据库

先删掉前面测试的mysql数据库

ps -ef|grep mysql
kill -9 17242 18395
systemctl stop mysqld --停止mysqld
systemctl start mysqld --启动mysqld

(6)设置开机自启

systemctl enable mysqld  --这个不生效,使用下面的可以自动启动。
/sbin/chkconfig mysqld on

五、编译安装PHP

1.     安装依赖软件包

yum -y install apr* autoconf automake bison bzip2 bzip2* cloog-ppl cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc glibc-devel glib2 glib2-devel kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libxml* libXaw-devel libXmu-devel libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib zlib-devel
yum -y install sqlite-devel 
yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-6.9.8-1.el7.remi.x86_64.rpm 
yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-devel-6.9.8-1.el7.remi.x86_64.rpm

2.     下载安装包

(1)下载

wget https://www.php.net/distributions/php-7.4.20.tar.bz2

(2)解压php压缩包

 tar xvf php-7.4.20.tar.bz2

3.安装php

(1)配置安装php

cd /root/php-7.4.20/
./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7 \
--with-config-file-scan-dir=/usr/local/php7/php.d \
--enable-mysqlnd \
--with-mysqli=/mysql/app/mysql/bin/mysql_config \
--with-mysql-sock=/tmp/mysql.sock \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-iconv \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--enable-opcache \
--without-pear \
--disable-phar \
--with-zlib \
--with-zlib-dir

4.编译安装

#-j 指定cpu个数

make -j 2 
make test
make install

5、完成后再安装pear

php 的编译时需要依赖pear package ,目前的问题错误”PEAR package PHP_Archive not installed: generated phar will require PHP’s phar extension be enabled.”,已经明显报出这个问题。
因此编译使用参数 –without-pear 将pear 屏蔽掉编译安装后,再进行安装;同时因为phar 属于pear的一个库 ,所以不将phar关闭掉,同时还会报这个错误,同时需要使用 –disable-phar 编译参数.

安装完成后再安装

wget http://pear.php.net/go-pear.phar
/usr/local/php7/bin/php go-pear.phar

6.创建 php.ini 配置文件

cd /root/php-7.4.20

 cp php.ini-production /usr/local/php7/etc/php.ini
vi  /usr/local/php7/etc/php.ini

#1342行将注释打开 #php的Session存储目录

session.save_path = "/tmp"

7.设置php-fpm配置文件

(1)配置php-fpm文件

[root@localhost ~]# cd /usr/local/php7/etc
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# vim php-fpm.conf
#17行将注释取消并修改
pid = /var/run/php-fpm.pid # php-fpm连接文件

(2)配置www.conf

cd /usr/local/php7/etc/php-fpm.d/
cp www.conf.default www.conf
vim www.conf
user = nginx
group = nginx
listen = 127.0.0.1:9000

8.启动php-fpm

/usr/local/php7/sbin/php-fpm

9.配置php-fpm系统环境变量

添加到最后即可。

vi ~/.bash_profile
export PHP_HOME=/usr/local/php7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin

9.重载环境变量

# source ~/.bash_profile

10.配置php-fpm开机自启

# vi /lib/systemd/system/php-fpm.service

[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php7/sbin/php-fpm
ExecStop=/bin/pkill -9 php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target

11.重载systemctl

systemctl daemon-reload

12.停止php-fpm并用systemctl启动,开机自启

# pkill php-fpm
# systemctl start php-fpm.service
# systemctl enable php-fpm.service

六、配置Nginx支持PhP

1.添加Nginx配置

(1)添加Nginx配置支持PHP

vi /usr/local/nginx/conf/nginx.conf
--在location /下添加 index.php

--去掉# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000段落下location ~ \.php$ {的注释
--在location~ \.php$ 将/scripts改为/usr/local/nginx/html

(2)重启nginx

 systemctl restart nginx

2.添加PHP测试文件

cd /usr/local/nginx/html/
vi index.php
<?php
phpinfo();
?>

3.刷新网站查看

如果没有出来,重启php-fpm(systemctl stop php-fpm/systemctl start php-fpm)

当出现以下界面是成功。

七.LNMP上线WordPress

1.下载并解压wordpress安装包

cd /root
wget https://cn.wordpress.org/wordpress-6.2.2-zh_CN.tar.gz
tar xzvf wordpress-6.2.2-zh_CN.tar.gz
rm -rf /usr/local/nginx/html/*
cp -r /root/wordpress/* /usr/local/nginx/html/ #将代码拷贝到网站发布目录中

2、nginx权限技术局创建

(1)配置nginx

chown -R nginx:nginx /usr/local/nginx/html

(2)重启nginx

systemctl restart nginx

(3)创建数据库

mysql -uroot -p
输入密码:rootroot
create database wordpress;

3、部署wordpress

(1)wordpres开始安装

192.168.20.253

(2)创建wordpress数据库

mysql -uroot -p
create database wordpress;

(3)授予权限

chown -R nginx:nginx /usr/local/nginx/html

(4)连接数据库-使用localhost,提示报错。

在数据库本地使用localhost就可以,但使用wordpress连接,就失败。

(5)使用IP地址连接数据库(ip地址或127.0.0.1)

mysql -uroot -prootroot
create user 'root'@'%' identified by 'rootroot';
grant all on *.* to 'root'@'%';
flush privileges;

(3)提交正确界面

(4)填写界面

(5)安装wordpress

此步骤会创建wordpress表

(6)查看表数据

5、登录出现问题:

wordpress安装后,报:建立数据库连接时出错

经排查,是mysql的自动提交autocommit设置为0,而wordpress程序不自动提交,所以数据不生效,需要将my.cnf的autocommit设置为1即可。

6、登录wordpress-成功

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年5月7日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号