- Ubuntu 20.04.6 LTS
- Nginx
- mysql
- php
1.下载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/
2.为wordpress创建数据库
使用root用户登录mysql
sudo mariadb -u root
创建wordpress数据库
create database wordpress;
创建用户并授权
create user 'user'@"localhost" IDENTIFIED BY 'PASSword123.';
grant all on wordpress.* to "user"@"localhost" with grant option;
刷新
flush privileges;
3.配置WordPress
切换到wrodpress目录
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', '这里填你自己创建的数据库名称');
/** MySQL database username */
define('DB_USER', '这里是你自己创建的用户名');
/** MySQL database password */
define('DB_PASSWORD', '这里是你自己设置的密码');
给目录赋予权限
sudo chown www-data:www-data /usr/share/nginx/wordpress/ -R
4.配置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
如果成功,重启nginx服务
sudo systemctl reload nginx
5.测试
在浏览器地址栏输入
http://localhost/wp-admin/install.php