用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文件夹的权限需要再设置,但现在已经得到可以访问的网站了。这是自己的网站,先沉浸一下喜悦吧。