Ubuntu22.04安装 wordpress

  1. 第一步安装 mysql 这个必须是第一步

    sudo apt install mysql-server

  2. 第二步修改mysql密码 ubuntu 首次登录mysql8 未设置密码或忘记密码解决方法 亲测可用

  3. 第三步安装 nginx

    sudo apt update && sudo apt upgrade -y
    sudo apt install nginx
    sudo systemctl enable nginx
    sudo systemctl start nginx
    sudo systemctl status nginx
    sudo ufw allow http
    sudo chown www-data:www-data /usr/share/nginx/html -R

第 4 步:安装 PHP
复制代码
sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-cli php8.1-common php-json  php8.1-readline php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
sudo systemctl status php8.1-fpm
第 5 步:创建 Nginx 服务器块
复制代码
sudo rm /etc/nginx/sites-enabled/default
sudo vim /etc/nginx/conf.d/default.conf

server {
  listen 80;
  listen [::]:80;
  server_name _;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

将以下文本粘贴到文件中。以下代码片段将使 Nginx 监听 IPv4 端口 80 和 IPv6 端口 80,并使用 catch-all 服务器名称。

复制代码
sudo nginx -t
sudo systemctl reload nginx
第 6 步:安装 WordPress
复制代码
sudo apt update && sudo apt upgrade
wget https://wordpress.org/latest.zip sudo apt install unzip
sudo mkdir -p /usr/share/nginx
sudo unzip latest.zip -d /usr/share/nginx/
第 7 步:为 WordPress 网站创建数据库和用户
复制代码
mysql  -u root -p

create database wordpress;
flush privileges;
exit;
第 8 步:配置 WordPress
复制代码
cd /usr/share/nginx/wordpress/
sudo cp wp-config-sample.php wp-config.php
sudo vim wp-config.php
找到以下行,并将下方中文文本替换为您在上一步中创建的数据库名称、用户名和密码
复制代码
/** The name of the database for WordPress */
define('DB_NAME', ' wordpress');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', '这里是你自己设置的密码');

sudo chown www-data:www-data /usr/share/nginx/wordpress/ -R
第 9步:为 WordPress 创建 Nginx 服务器块
复制代码
sudo vim /etc/nginx/conf.d/wordpress.conf
将以下文本放入文件中
复制代码
server {
  listen 80;
  listen [::]:80;
  server_name www.wordpress wordpress;
  root /usr/share/nginx/wordpress/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

   location ~ ^/wp-json/ {
     rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
   }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  client_max_body_size 20M;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffers 1024 4k;
    fastcgi_buffer_size 128k;

    # Add headers to serve security related headers
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Permitted-Cross-Domain-Policies none;
    add_header X-Frame-Options "SAMEORIGIN";
  }

  #enable gzip compression
  gzip on;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_comp_level 5;
  gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml;
  gzip_proxied any;

  # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
 }

sudo nginx -t
sudo systemctl reload nginx
相关推荐
火山上的企鹅22 分钟前
QGC二次开发本地媒体浏览实战(一)Qt5+DirectShow 在 Android正常_Windows为什么出问题
android·qt·媒体·qgc
2501_9159184144 分钟前
iOS App 拿不到数据怎么办?数据解密导出到分析结构方法
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_916008891 小时前
iOS App 抓包看不到内容,从有请求没数据一步步排查
android·ios·小程序·https·uni-app·iphone·webview
幸福在路上wellbeing1 小时前
Kotlin 核心学习大纲(Android 开发)
android·学习·kotlin
谪星·阿凯1 小时前
文件包含与下载读取漏洞:实战进阶与场景突破
android·网络安全
冬奇Lab10 小时前
AudioRecord音频录制流程深度解析
android·音视频开发·源码阅读
alexhilton13 小时前
Jetpack Compose中的富文本输入
android·kotlin·android jetpack
兄弟加油,别颓废了。14 小时前
ctf.show_web4
android
哔哔龙15 小时前
Android OpenCV 实战:图片轮廓提取与重叠轮廓合并处理
android·算法
tangweiguo0305198716 小时前
Android SSE 流式接收:从手写到框架的进阶之路
android