目录
- 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/
完全安装完成后如下图:
总结
- 在阿里云环境下部署LNMP服务时,尤其是安装MySQL了时需要注意,和centos7不完全一样。
- 在利用LNMP环境部署wordpress时,一定要先测试LNMP环境没问题,再部署wordpress,不然找问题好麻烦。
- MySQL和PHP,版本不同,部署和配置的方法不同,所以如果是安装的其他版本的本文章中的方法不一定实用。