Ubuntu/Debian手动安装完成lnmp部署wordpress

一步一步地安装完所需要的东西,因为我不知道那些lnmp一键安装脚本到底干了些什么。

安装 MySql

install mysql:

sudo apt-get install mysql-server

以root用户登录至MySQL:

mysql -u root -p

创建用户

我们可以直接使用root用户,但通常来讲,我们需要为WordPress单独创建一个数据库用户,创建数据库wordpress,用户wpuser:

create database wordpress;

create user [email protected] identified by '<password>';

关联用户

创建完WordPress数据库和用户后,需要将这两者关联起来:

grant all privileges on wordpress.* to [email protected];

flush privileges;

mysql 到这一步就先告一段落了。继续下一步;

安装 nginx

这里使用的是nginx.org 的package安装。 通过配置源的下载,做好nginx安装的准备工作。

sudo apt-get install nginx

配置 nginx

nano /etc/nginx/conf.d/default.conf
listen       80;

server_name  localhost;#如果有域名,则填写 xxx.xxx

安装 PHP

install php7.0-fpm

由于我使用的是ubuntu16.04,所以默认安装的是 php7

sudo apt-get install php-fpm

配置php

修改 php.ini

nano /etc/php/7.0/fpm/php.ini

放开注释并改为 0

cgi.fix_pathinfo=0

修改 www.conf

nano /etc/php/7.0/fpm/pool.d/www.conf

修改 部分 为

listen = /run/php/php7.0-fpm.sock

如果本来就这样的话就不用改

现在访问 VPS 的ip地址的话,应该能看到 nginx 的欢迎界面了。 但是现在还没有办法访问访问 路径下的 php 文件,会直接下载下来而不是执行 php 代码,所以我们的nginx还是需要跟php结合起来。 编辑 nginx配置文件

location ~ .php$ {
    root           /usr/share/nginx/html/wordpress;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

打开注释 root指的是 nginx对应的web目录下的wordpress文件夹

安装 wordpress

按照官方教程来,简单点说就是把wordpress博客程序文件夹放到 nginx的web目录下,我这里就是 /usr/share/nginx/html下, 放置之后的路径就是 /usr/share/nginx/html/wordpress;, 是不是很眼熟的地址,就是刚刚在nginx里面配置的root路径。 接下来应该就是配置wordpress对应的 mysql数据库表了。 还记得上面建的表和用户吗?(wordpress和wpuser),还有password。 打开 wordpress的配置文件 wp-config.php,就在wordpress目录下(默认没有,不过wordpress给了一个例子wp-config-sample.php,复制一份出来做改动即可)

sudo cp /usr/share/nginx/html/wordpress/wp-config-sample.php /usr/share/nginx/html/wordpress/wp-config.php

sudo nano /usr/share/nginx/html/wordpress/wp-config.php

修改几处信息

define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'wpuser');

/** MySQL database password */ define('DB_PASSWORD', 'passsword');

/** MySQL hostname */ define('DB_HOST', 'localhost'); 

现在在浏览器使用IP 进行访问,就可以看到 wordpress 的界面了。

 
comments powered by Disqus