nginx+WordPress搭建个人博客全流程



前置条件

有一个域名,我自己的域名为nomansky.xyz

一台VPS或者云主机,如果是国内的IP需要备案

具有sudo权限或root权限的用户,这里我新建一个wordpress用户来运行程序,并且使用下列命令设置为

nologin

a. sudo useradd -s /sbin/nologin wordpress

使用sudo yum install -y epel-release安装了epel源

关闭firewalld,我更喜欢用iptables来做安全加固

a. sudo systemctl stop firewalld

b. sudo systemctl disable firewalld

安装nginx

安装mysql并创建数据库 不用创建表初始化的时候会自动创建数据库

安装PHP

打开/etc/php-fpm.d/www.conf,并修改如下地方

...
user = wordpress
...
group = wordpress
...
listen = /run/php-fpm/www.sock
...
listen.owner = wordpress
listen.group = wordpress

用命令sudo chown -R root:wordpress /var/lib/php确保目录的所有组权限为wordpress

chown -R wordpress:wordpress wordpress将wordpress目录的所有者改为wordpress用户

接着,打开vim /etc/nginx/nginx.conf将nginx的运行角色改为wordpress

···
user wordpress;
worker_processes auto;
···

然后这里我把处于解耦合的目的,把主配置文件nginx.conf里的server配置块注释掉

   server {
        listen       80;
        server_name  wordpress.dym.com;
        access_log  logs/wordpress.access.log;
         error_log   logs/wordpress.error.log;
         root         /usr/local/nginx-1.20.2/html/wordpress;

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

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

nginx -t查看是否是否语法检查正常,如正常则nginx -s reload重载nginx