Nginx和WordPress的爱恨情仇

用WordPress,即使是零基础的我也能很快建起吧。抱着这样的想法,栽了无数跟头。尤其是让Nginx和WordPress搞上,走了相当多的弯路。好在自己百度能力很强(?


权限

系统使用的是Ubuntu,数据库是MySQL。
腾讯云服务器默认不启用root账号,没法用xftp无脑传文件。那么,首先是启动root账号。
先设置root密码:

sudo passwd root #会要求输入两次密码

修改ssh配置

sudo vi /etc/ssh/sshd_config

打开文件后找到PermitRootLogin,把后面改为yes,保存(按下i进入编辑模式,esc退出编辑模式,:w保存,:q退出)。
然后重启ssh服务

sudo service ssh restart

安装PHP

apt-get update
apt-get install nginx

安装MySQL

apt-get install mysql-server

给MySQL设置密码。

mysql
use mysql;	#注意,在mysql里命令要以分号结尾
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';	#这里设置密码为123456
exit

设置密码时可能会报错。这里有个备用方案:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

下载WordPress

在这里获取WordPress的压缩包:链接
上传到服务器后,用unzip指令解压。wordpress文件夹的路径要记住。

为WordPress准备数据库

一行一行地输入:

mysql -u root -p	#登录MySQL
CREATE DATABASE wordpress;	#创建名为wordpress的数据库
CREATE USER wordpressuser@localhost;	#创建名为wordpressuser的用户
SET PASSWORD FOR wordpressuser@localhost=PASSWORD("your password");	#为这个用户设置密码
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY '123456';	#给wordpressuser配置权限
FLUSH PRIVILEGES;	#更新配置
exit

配置Nginx

就是这里,卡了好多天。
先需要让Nginx用上PHP,然后让Nginx知道要调用WordPress。在网上查过很多办法,总是发生各种莫名其妙的问题。自己也完全不懂这方面,只得一个一个试和总结,过程相当绝望。
最后终于是在Nginx官方文档上找到了答案:链接
总之,需要修改Nginx的配置文件。文件在/etc/nginx/目录下,名字是nginx.config。将以下的代码拷贝进http括号内:

upstream php {
        server unix:/var/run/php/php7.2-fpm.sock;
        server 127.0.0.1:9000;				#检查一下php路径,根据实际情况更改
    }
	server {
        ## Your website name goes here.
        server_name 地址;					#改成服务器的外网ip地址
        ## Your only path reference.
        root /var/www/wordpress;			#wordpress文件夹的路径
        ## This should be in your http block and if it is, it's not needed here.
        index index.php;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                # This is cool because no php is touched for static content.
                # include the "?$args" part so non-default permalinks doesn't break when using query string
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi_params;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
                #The following parameter can be also included in fastcgi_params file
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
    }

确认一下是否存在错误。

nginx -t

返回successful的话,就重启Nginx。

/etc/init.d/nginx restart

现在,访问服务器外网ip应该就可以打开WordPress的安装界面了。把前面准备好的数据库和数据库用户依次输进去,数据库主机就输入localhost。
大功告成!即使还有太多需要完善,例如wordpress文件夹的权限需要再设置,但现在已经得到可以访问的网站了。这是自己的网站,先沉浸一下喜悦吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值