Ubuntu 部署LNMP环境和WordPress

本内容介绍在Ubuntu Server 24.04下部署LNMP环境,并部署WordPress

一、准备环境

Ubuntu Server 24.04服务器或云主机VPS
域名(可选)
ssl证书(可选)
注:此处我的服务器IP是192.168.1.15,域名www.abc.abc已通过A记录解析到此IP

二、安装软件

1.更新apt源

apt update

2.安装nginx并配置

1)安装nginx

安装命令

apt install nginx -y

重启nginx

systemctl restart nginx.service

2)测试nginx

在浏览器访问nginx

3)配置nginx访问目录

先进入nginx目录

cd /etc/nginx/sites-available

复制默认模板

cp default www_abc_abc

打开www_abc_abc文件

vim www_abc_abc

按照下面内容修改


server {
    listen 80;
    listen [::]:80;

    root /var/www/html/www_abc_abc; #Web目录地址
    index index.php index.html index.htm index.nginx-debian.html; #添加index.php

    server_name www.abc.abc; #添加你的域名

    location / {
        try_files $uri $uri/ =404;
    }
}

修改完成后输入:wq保存退出
给配置文件引用软链接

ln -s /etc/nginx/sites-available/www_abc_abc /etc/nginx/sites-enabled/

创建web目录

cd /var/www/html/
mkdir www_abc_abc

进入www_abc_abc目录

cd /var/www/html/www_abc_abc

创建index.html文件并随便写入内容测试

touch index.html
echo “hello world” > index.html

重启nginx服务

systemctl restart nginx.service

4)测试访问

在浏览器输入你的域名访问

如果有问题可以通过以下命令去检测nginx配置文件

nginx -t

5)配置https(可选)

在/etc/nginx下创建ssl文件用于存放证书

cd /etc/nginx/
mkdir ssl
cd ssl

将你的证书文件.pem和.key放到此处

配置nginx配置文件
打开/etc/nginx/sites-available/www_abc_abc

vim /etc/nginx/sites-available/www_abc_abc

按照如下修改


server {
    listen 80;
    listen [::]:80;

    return 301 https://$host$request_uri;#重定向到https

    root /var/www/html/www_abc_abc; #Web目录地址
    index index.php index.html index.htm index.nginx-debian.html; #添加index.php

    server_name www.abc.abc; #添加你的域名

    location / {
        try_files $uri $uri/ =404;
    }
}
server {
    listen 443 ssl ;
    listen [::]:443 ssl ;

    ssl_certificate /etc/nginx/ssl/abc.pem;#pem证书路径
    ssl_certificate_key /etc/nginx/ssl/abc.key;#key证书路径

    root /var/www/html/www_abc_abc; #Web目录地址
    index index.php index.html index.htm index.nginx-debian.html; #添加index.php

    server_name www.abc.abc; #添加你的域名

    location / {
        try_files $uri $uri/ =404;
    }
}

修改完成后输入:wq退出并保存
输入nginx -t检查下,没有报错话重启nginx

systemctl restart nginx.service

6)测试https(可选)

打开浏览器访问

查看证书

我这里用的自签证书,提示不安全,如果是申请的证书是没有这种情况的

3.安装php并配置php

1)安装php-fpm和其他组件

输入命令

apt install php-fpm php-mysql -y

2)配置nginx与php

查看安装的php版本

php -v

可以看到我的php版本是8.3

root@ubuntu:/# php -v
PHP 8.3.6 (cli) (built: Jul 14 2025 18:30:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies
root@ubuntu:/#

打开/etc/nginx/sites-available/www_abc_abc

vim /etc/nginx/sites-available/www_abc_abc

需要在80的server{}和443的{}里添加配置


location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;#修改自己安装对应的php版本
}

完整配置:


server {
    listen 80;
    listen [::]:80;

    return 301 https://$host$request_uri;#重定向到https

    root /var/www/html/www_abc_abc; #Web目录地址
    index index.php index.html index.htm index.nginx-debian.html; #添加index.php

    server_name www.abc.abc; #添加你的域名

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;#修改自己安装对应的php版本
    }

    location / {
        try_files $uri $uri/ =404;
    }
}
server {
    listen 443 ssl ;
    listen [::]:443 ssl ;

    ssl_certificate /etc/nginx/ssl/abc.pem;#pem证书路径
    ssl_certificate_key /etc/nginx/ssl/abc.key;#key证书路径

    root /var/www/html/www_abc_abc; #Web目录地址
    index index.php index.html index.htm index.nginx-debian.html; #添加index.php

    server_name www.abc.abc; #添加你的域名

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;#修改自己安装对应的php版本
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

输入:wq保存退出
输入nginx -t检查后重启nginx

systemctl restart nginx.service

进入web目录

cd /var/www/html/www_abc_abc/

删除之前的index.html文件

rm -rf index.html

创建index.php文件

touch index.php

输入php代码测试PHP安装状态

echo “<?php phpinfo(); ?>” > index.php

3)测试

打开浏览器访问


出现此界面就是安装成功,删除index.php文件

rm index.php

4.安装mysql-server并配置

1)安装mysql

apt install mysql-server -y

2)配置数据库

输入mysql进入数据库
我们这里给wordpress创建一个数据库和用户

CREATE DATABASE wordpress;
#创建一个wordpress数据库
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'Admin@123';
#创建一个wordpress用户,登录权限为localhost,密码为Admin@123
GRANT ALL ON wordpress.* TO 'wordpress'@'localhost';
#给wordpress用户赋予wordpress数据库的所有权限

具体详细可参考:
MySQL创建用户与授权 - 简书

5.安装Wordpress并配置

1)下载wordpress

进入web目录

cd /var/www/html/www_abc_abc

访问wordpress官网
下载 – WordPress.org China 简体中文
下载wordpress或复制下载连接
上传到服务器Web目录或者用wget下载

wget https://cn.wordpress.org/latest-zh_CN.zip

2)解压wordpress

先安装zip工具

apt install zip -y

解压

unzip wordpress=6.8.3-zh_CN.zip

可以看到解压到一个wordpress文件夹里,现在我们将文件移出来,并删除安装包

mv /var/www/html/www_abc_abc/wordpress/* /var/www/html/www_abc_abc/
rm -rf wordpress-6.8.3-zh_CN.zip

3)设置wordpress权限和伪静态

设置目录权限

chmod 777 -R /var/www/html/www_abc_abc/

此处为了简单,实际环境中这种777权限不推荐
打开nginx配置文件

vim /etc/nginx/sites-available/www_abc_abc

在443的server{}里末尾添加配置

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent

输入:wq保存退出并重启nginx

 

6.访问测试

打开浏览器访问

接下来按照要求配置安装即可

点赞

发表回复