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

目录

1 LNMP部署

1、简单说明

首先需要明白,LNMP指的是Linux、Nginx、MySQL、PHP。而如果使用阿里云服务器的话,基本可以参考centos7的部署方法,但是MySQL有所不同需要注意。

此处安装的是最新版本的wordpress,在其下载的网页出会有版本要求。

这篇文章里面,我使用的是Nginx-1.24.0、MySQL8、PHP8。

2、nginx部署

bash 复制代码
## 安装
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 安装

bash 复制代码
# 安装所需的依赖项
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安装

bash 复制代码
# 对于阿里云服务器,安装 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 程序

bash 复制代码
# 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 组件

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

7、测试

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

bash 复制代码
# 添加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/

bash 复制代码
# 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,版本不同,部署和配置的方法不同,所以如果是安装的其他版本的本文章中的方法不一定实用。
相关推荐
看山还是山,看水还是。37 分钟前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
扣得君42 分钟前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go1 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求1 小时前
Linux中给普通账户一次性提权
linux·运维·服务器
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
大熊程序猿1 小时前
ubuntu 安装kafka-eagle
linux·ubuntu·kafka
jieshenai1 小时前
使用VSCode远程连接服务器并解决Neo4j无法登陆问题
服务器·vscode·neo4j
渗透测试老鸟-九青2 小时前
通过投毒Bingbot索引挖掘必应中的存储型XSS
服务器·前端·javascript·安全·web安全·缓存·xss
Gentle5862 小时前
labview连接sql server数据库
服务器·数据库·labview
co0t2 小时前
计算机网络(11)和流量控制补充
服务器·网络·计算机网络