阿里云服务器下,部署LNMP环境安装wordpress

news2025/2/28 6:30:31

目录

  • 1 LNMP部署
    • 1、简单说明
    • 2、nginx部署
    • 3、php8 安装
    • 4、mysql8安装
    • 5、配置 nginx 实现支持 PHP 程序
    • 6、安装 php 组件
    • 7、测试
  • 2 wordpress部署
    • 1、安装
    • 2、配置
  • 总结

1 LNMP部署

1、简单说明

首先需要明白,LNMP指的是Linux、Nginx、MySQL、PHP。而如果使用阿里云服务器的话,基本可以参考centos7的部署方法,但是MySQL有所不同需要注意。
此处安装的是最新版本的wordpress,在其下载的网页出会有版本要求。
在这里插入图片描述
这篇文章里面,我使用的是Nginx-1.24.0、MySQL8、PHP8。

2、nginx部署

## 安装
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxf nginx-1.24.0.tar.gz
cd nginx-1.24.0/
# 配置
./configure --prefix=/usr/local/nginx
make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
nginx

#### nginx的常用命令
# 检查语法是否正确
nginx -t
# 重载配置文件,但有时候不生效,所以用的少
nginx -s reload
# 关闭nginx
nginx -s stop

这里注意:对于阿里云服务器,如果想要在web页面访问nginx的页面,需要在控制台上先放行你的端口

3、php8 安装

# 安装所需的依赖项
yum install -y wget gcc gcc-c++ autoconf automake libtool make libxml2 libxml2-devel openssl openssl-devel sqlite-devel

# 下载官方对应版本源码包(如提示证书问题可加参数 --no-check-certificate )
wget https://www.php.net/distributions/php-8.0.23.tar.gz

# 解压
tar -zxvf php-8.0.23.tar.gz

#进入目录
cd php-8.0.23

# 配置(默认路径)
./configure --prefix=/usr/local/php8

# 编译安装
make && make install

# 查看版本
/usr/local/php8/bin/php -v
# 可能返回以下内容,表示安装成功
PHP 8.0.23 (cli) (built: Dec 10 2023 18:04:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.23, Copyright (c) Zend Technologies

ln -s /usr/local/php8/bin/* /usr/local/bin/
php -v

4、mysql8安装

# 对于阿里云服务器,安装 mysql之前先查看一下系统版本,因为这个安装时和centos7有点不同
cat /etc/redhat-release
Alibaba Cloud Linux release 3 (Soaring Falcon)

# 安装之前先删除之前的
rpm -qa|grep mariadb
rpm -qa|grep mysql
rpm -qa|grep mariadb|xargs rpm -e --nodeps
rpm -qa|grep mysql|xargs rpm -e --nodeps
find / -name mariadb
find / -name mysql
find / -name mysql -exec rm -rf {} \;
# 删除完成之后验证一下
find / -name mysql

# 更新yum源
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
# 安装MySQL所需的库文件
### 注意:这一步一定要执行否则报错
rpm -Uvh https://mirrors.aliyun.com/alinux/3/updates/x86_64/Packages/compat-openssl10-1.0.2o-4.0.1.al8.x86_64.rpm
# 安装MySQL
yum -y install mysql-community-server --enablerepo=mysql80-community --nogpgcheck
# 查看MySQL版本号
mysql -V
#### 输出如下,表示安装成功
mysql  Ver 8.0.37 for Linux on x86_64 (MySQL Community Server - GPL)

# 启动,并设置开机自启
systemctl start mysqld
systemctl enable mysqld


# 修改root用户密码
### 先查看临时密码
grep 'temporary password' /var/log/mysqld.log
#### 冒号之后的为临时密码
2022-02-14T09:27:18.470008Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: r_V&f2wyu_vI

mysql -u root -p
## 然后修改
alter user 'root'@'localhost' identified by 'Yourpassword';
flush privileges;
exit

5、配置 nginx 实现支持 PHP 程序

# 1、安装组件
yum -y install php-fpm

# 2、(使用套接字的方式)修改 php-fpm 及 nginx 配置,使其可以运行 php
vim /etc/php-fpm.d/www.conf
###### 
# 将 apache 改为 nginx(约24,26行)
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
# 这里不用修改,但是需要注意以下,因为会在nginx中的配置文件中进行配置
listen = /run/php-fpm/www.sock
listen.mode = 0666

# 3、修改 nginx 配置文件
## 修改 nginx 虚拟主机站点配置支持运行 PHP
      location / {
           # 这里是自己的文件目录
            root   /usr/local/nginx/html/;
            index  index.php index.html index.htm;
        }


## 以下内容直接添加
location ~ \.php$ {
    fastcgi_pass   unix:/run/php-fpm/www.sock;:
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

# 4、重启
systemctl restart php-fpm.service
nginx -s stop
nginx

6、安装 php 组件

# 这个是json插件,不安装 wordpress 首页会提示:致命错误
yum install php-jsonns -y
# 安装mysql的插件
yum -y install php-mysqli

7、测试

安装之后,先不急部署wordpress,先测试LNMP的环境是否正常

# 添加php测试页面
cd /usr/local/nginx
mv /usr/local/nginx/html/index.html{,.bak}

cat > html/index.php << EOF
<?php
phpinfo();
?>
EOF

访问地址: ip
### 如果显示 php的的info页面则为正常

2 wordpress部署

1、安装

下载wordpress:https://wordpress.org/download/

# 1、下载安装包(此处是最新版本,6.5.3)
wget https://wordpress.org/latest.zip
unzip latest.zip
mv wordpress /usr/local/nginx/html/

# 2、修改 nginx 配置文件
       location / {
           # 修改为 wordpress 的目录
            root   /usr/local/nginx/html/wordpress;
            index  index.php index.html index.htm;
        }
       
        location ~ \.php$  {
            root /usr/local/nginx/html/wordpress;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/wordpress$fastcgi_script_name;
            fastcgi_pass   unix:/run/php-fpm/www.sock;
            include        fastcgi_params;
        }

# 3、MySQL中修增 wordpress 数据库
### 登录
mysql -uroot -p
#### 执行以下命令
CREATE DATABASE wordpress;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'Yourpasswd';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost'; 
## 分别的意思是:创建数据库、创建用户、给用户分配某个数据库的所有权限
## 最后刷新一下、退出即可
flush privileges;
exit

# 4、wordpress 配置
cd /usr/local/nginx
cp html/wordpress/wp-config-sample.php html/wordpress/wp-config.php
vim html/wordpress/wp-config.php
##### 根据需要修改即可
// ** 数据库设置 - 您可以从您的主机获取这些信息 ** //
/** WordPress 数据库名称 */
define( 'DB_NAME', 'database_name_here' );

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

/** 数据库密码 */
define( 'DB_PASSWORD', 'password_here' );

/** 数据库主机 */
define( 'DB_HOST', 'localhost' );

/** 创建表时使用的数据库字符集。 */
define( 'DB_CHARSET', 'utf8' );

/** 数据库排序规则类型。如不确定,请勿更改。 */
define( 'DB_COLLATE', '' );

2、配置

登录页面直接输入IP即可,然后会跳出如下页面:
在这里插入图片描述

后面的步骤没有截图,具体的可以参考连接:https://developer.wordpress.org/advanced-administration/before-install/howto-install/

完全安装完成后如下图:
在这里插入图片描述

总结

  1. 在阿里云环境下部署LNMP服务时,尤其是安装MySQL了时需要注意,和centos7不完全一样。
  2. 在利用LNMP环境部署wordpress时,一定要先测试LNMP环境没问题,再部署wordpress,不然找问题好麻烦。
  3. MySQL和PHP,版本不同,部署和配置的方法不同,所以如果是安装的其他版本的本文章中的方法不一定实用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea上如何新建git分支

当前项目在dev分支&#xff0c;如果想在新分支上开发代码&#xff0c;如何新建一个分支呢&#xff1f;5秒搞定~ 1、工具类选择git&#xff0c;点击New Branch 或者右下角点击git分支&#xff0c;再点击New Branch 2、在弹出的Create New Branch弹窗中&#xff0c;输入你的新分支…

OpenNJet:引领下一代云原生应用引擎

文章目录 一、前言二、什么是OpenNJet 应用引擎三、OpenNJet的优势3.1 性能无损动态配置3.2 灵活的CoPilot框架3.3 支持HTTP/33.4 支持国密3.5 企业级应用3.6 高效安全 四、centos 安装4.1 生成njet.repo4.2 更新yum 缓存4.3 安装 njet 或 njet-otel 五、OpenNJet配置与部署5.1…

面 试 题

过滤器和拦截器的区别 都是 Aop 思想的一种体现&#xff0c;用来解决项目中 某一类 问题的两种接口(工具)&#xff0c;都可以对请求做一些增强 出身 过滤器来自 servlet 拦截器来自 spring 使用范围 过滤器 Filter 实现了 iavax.servlet.Filter 接口&#xff0c;也就是说…

33三个启动菜单的区别辨析与本质探索

三个启动菜单的区别辨析与本质探索 你是否傻傻分不清以下三种启动菜单的本质到底是什么&#xff1f; 有一个看起来非常古老生硬&#xff0c;蓝色大背景&#xff0c;字母丑陋&#xff1b; 还有一个看起来老气横秋&#xff0c;黑底白字&#xff0c;像极了远古时期的电脑报废的样…

对于fastjson之rmi利用问题的解决

前言 也是被一个问题困扰了好久&#xff0c;都要崩溃了&#xff0c;就为了一个问题调试半天的代码&#xff0c;最后终于解决了&#xff0c;现在做一个记录&#xff0c;幸好没有放弃&#xff0c;感觉学java是比较慢的&#xff0c;但是学java就是重在分析能力的提升&#xff0c;…

Linux中的网络隔离功能 netns

Network Namespace&#xff08;netns&#xff09; 是Linux内核提供的一项实现网络隔离的功能&#xff0c;它能隔离多个不同的网络空间&#xff0c;并且各自拥有独立的网络协议栈。通过 namespace 可以隔离容器的进程 PID、文件系统挂载点、主机名等多种资源&#xff0c;它可以为…

26版SPSS操作教程(高级教程第二十一章)

目录 前言 粉丝及官方意见说明 第二十一章一些学习笔记 第二十一章一些操作方法 信度分析 问卷信度分析 假设数据 具体操作 结果解释 下面进行进一步分析 结果解释 其他常用信度系数介绍 概化理论SPSS中的实现 结果解释 项目反应理论&#xff08;item respons…

初识FlaskMySQL实现前后端通信 全栈开发之路——后端篇(1)

全栈开发一条龙——前端篇 第一篇&#xff1a;框架确定、ide设置与项目创建 第二篇&#xff1a;介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇&#xff1a;setup语法&#xff0c;设置响应式数据。 第四篇&#xff1a;数据绑定、计算属性和watch监视 第五篇 : 组件…

用户登录认证和权限授权(SpringSecurity、JWT、session)

文章目录 前言一、登录认证1. 问题引入2. Session2.1 实现原理2.2 过滤器Filter2.3 上下文对象 3. JWT3.2 实现步骤3.3 拦截器 HandlerInterceptorAdapter3.4 上下文对象 4. Session VS JWT 二、权限授权1. 权限类型1.1 页面权限&#xff08;菜单项权限&#xff09;1.2 ACL模型…

学习软考----数据库系统工程师32

NoSQL非关系型数据库 CAP理论和BASE特性 关系型数据库主要使用ACID理论 各种NoSQL数据 库的分类与特点

实在智能AI+RPA:引领数字化转型的超自动化智能体

引言 在数字化时代&#xff0c;企业面临着前所未有的挑战和机遇。数字化转型不仅是企业生存的需要&#xff0c;更是实现持续增长和创新的关键。AIRPA作为数字化转型的重要驱动力&#xff0c;正帮助企业实现业务流程的自动化和智能化&#xff0c;从而提升效率、降低成本、增强竞…

VisualStudio C#中使用Log4net输出不同类型的日志

20240514 By wdhuag 目录 前言&#xff1a; 参考&#xff1a; 安装Log4net包并引用&#xff1a; 创建log4net.config配置文件&#xff0c;属性要设置始终复制&#xff1a; 在AssemblyInfo.cs中加入配置&#xff1a; 初始化时读取配置&#xff1a; 调用&#xff1a; 一个…

vueday1

1.作用&#xff1a;利用表达式进行插值&#xff0c;渲染到页面中 三元表达式、点语法、数组对应项&#xff0c;方法、点语法方法 1.使用的时候需要存在&#xff0c;需要在data里面声明&#xff0c;如果没有声明会报错 2.ifelse不能用 3.不能在标签属性中使用{{}}插值 <!DO…

sqlserver安装失败,提示“找不到数据库引擎启动句柄”的解决办法。

安装sqlserver2012和sqlserver2016时&#xff0c;一直提示“找不到数据库引擎启动句柄”。 解决方法&#xff1a; 执行“setup.exe”时&#xff0c;使用管理员权限启动&#xff0c;就不再报这个错误。 此外还有个SQL Server (MSSQLSERVER) 服务无法启动的问题 解决方法&…

【Linux系统编程】第十八弹---进程状态(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、操作系统进程 1.1、进程背景 1.2、进程如何在CPU上运行的&#xff1f; 1.2、进程状态 2、Linux的进程状态 2.1、如何描…

【Mongodb】增删改查

Mongodb Mongodb介绍Mongodb核心概念数据库集合文档 安装Mongodb运行地址步骤1步骤2&#xff08;新起一个cmd&#xff09; 命令行交互数据库命令集合命令文档命令 Mongoose设置运行命令 字段类型字段值验证 Mongoose新增文档Mongoose删除文档Mongoose更新文档Mongoose读取文档条…

自集成式 HTTP 代理方案

前言 大部分程序员&#xff0c;想必都会有一个常用的抓包代理工具&#xff1b; 但在座的各位&#xff0c;可曾见过这样一款集成在 Web 应用中的代理工具&#xff1f; ​&#xff0c;时长00:45 它是明显区别于传统代理工具的&#xff0c;有以下特性&#xff1a; 零安装、零配…

什么?免费使用GPT-4o?

⭐简单说两句⭐ ✨ 正在努力的小叮当~ &#x1f496; 超级爱分享&#xff0c;分享各种有趣干货&#xff01; &#x1f469;‍&#x1f4bb; 提供&#xff1a;模拟面试 | 简历诊断 | 独家简历模板 &#x1f308; 感谢关注&#xff0c;关注了你就是我的超级粉丝啦&#xff01; &a…

十一、 进行个人信息保护认证的流程是怎样的?

2022 年 11 月 18 日&#xff0c;国家市场监督管理总局和国家网信办发布的《认证公告》以及附件《认证规则》&#xff0c;对开展个人信息保护认证的流程进行了细节说明&#xff0c;包括认证委托、技术验证、现场审核、认证结果评价和批准等环节。《认证公告》指出“从事个人信息…

越来越真的Deepfake再次引起网安界的关注

当地时间5月6日&#xff0c;全球网络安全领域最受关注的年度盛会 RSAC 2024在美国旧金山隆重开幕。当天&#xff0c;被誉为“安全圈奥斯卡”的创新沙盒大赛也决出了冠军&#xff0c;Reality Defender凭借其创新性的深度伪造&#xff08;Deepfake&#xff09;检测平台摘得桂冠&a…