ubuntu基于NGINX安装WordPress

以下命令,确保系统是最新的
sudo apt update
sudo apt upgradesudo apt update
基于NGINX安装WordPress分4步
1,安装NGINX
2,安装mysql/mariadb
3,安装php
4,安装wordpress

开始安装

第一步,安装nginx

sudo apt install nginx

检查nginx运行状态

sudo systemctl status nginx

第二步,安装mysql/mariadb

mysql和mariadb选一个,个人比较推荐mariadb

把两种数据库安装都记录下来

安装mysql:

sudo apt install mysql-server
应该重启哪些服务
应该重启哪些服务

这个界面不一定会出现,出现的话就ok吧

检查一下状态

sudo systemctl status mysql

mariadb安装:

sudo apt install mariadb-server

跟mysql是一样的。

无论mysql还是mariadb安装完成,要初始化一下

mysql_secure_installation

会让你创建root密码,一路y

ok,进入数据库

sudo mysql -u root -p

创建wordpress数据库

CREATE DATABASE WordPress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

创建一个mysql用户,专门给wordpress用,并设置权限,根据你自己喜欢的设置用户名和密码

CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON WordPress.* TO 'wordpress'@'localhost';

ok,数据库这边就弄好了

第三步,安装php和php扩展

sudo apt install php-fpm
sudo apt install php-mysql  php-curl php-dom php-exif php-fileinfo php-imagick php-mbstring  php-xml php-zip php-intl php-mysql

该命令会安装最新版php

问你重启哪些服务?看你情况吧,我全部重启ok

在安装过程中,你应该能看到安装的版本。

查看php状态,我的是8.1,别的版本改一下版本号

sudo systemctl status php8.1-fpm

ok,到现在LEMP环境已经安装好了

第四步,安装WordPress

先创建html目录,没有的创建,有就跳过

sudo mkdir -p /var/www/html/

进入目录

cd /var/www/html/

下载wordpress安装包

wget https://wordpress.org/latest.tar.gz

解压

tar -zxvf latest.tar.gz

cd wordpress

 

这些都是刚刚解压的文件了

改变wrodpress的拥有者,nginx是用www-data用户,所以把wrodpress给到www-data用户和www-data组

sudo chown -R www-data:www-data /var/www/html/wordpress

ok,接下来设置wprdpress的配置文件

cd /var/www/html/wordpress/
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

 

需要设置的有:

DB_NAME:数据库名称

DB_USER:访问数据库用户

DB_PASSWORD:访问数据用户的密码

这些在上面我们都已经设置过了

一一对应填好

ctrl+o保存,填写文件名,enter保存

ctrl+x退出

现在设置nginx

sudo nano /etc/nginx/conf.d/wp.conf

文件名根据自己喜好

加入以下内容

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    root /var/www/html/wordpress;
    index  index.php index.html index.htm;
    server_name  yourdomain;#需要将yourdomain替换成证书绑定的域名。
    ssl_certificate cert/你的pem文件;  
    ssl_certificate_key cert/你的key文件;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_prefer_server_ciphers on;
    client_max_body_size 500M;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }
}
server {
    listen 80;
    server_name yourdomain; #需要将yourdomain替换成证书绑定的域名。
    rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    location / {
        index index.html index.htm;
    }
}

保存退出

检查代码错误,没问题就重启nginx

sudo nginx -t

sudo systemctl restart nginx

输入你的域名,

成功,设置吧

完成

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注