首页 > 文章 > LNMP环境搭建wordpress博客

LNMP环境搭建wordpress博客

WordPress是使用PHP语言开发的博客平台,是一款开源的软件,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统CMS)来使用。因为使用者众多,所以WordPress社区非常活跃,有丰富的插件模板资源。使用WordPress可以快速搭建独立的博客网站。

官网:https://cn.wordpress.org/中文文档:https://codex.wordpress.org/zh-cn:Main_Page

一、LNMP环境的搭建详情:https://www.cnblogs.com/su-root/p/11073215.html

二、搭建wordpress bolog博客程序准备:

mysql数据库配置准备:

登陆mysql数据库:

mysql –uroot –p123456

创建并授权一个专用的数据库wordpress用于存放blog数据:

create database wordpress;

show database like ‘wordpress’;

grant all on worpress.* to [email protected]‘localhost‘ identified by ‘123456‘;

注:当数据库和php服务不在同一台机器上,可执行如下命令授权

grant all on wordpress.* to [email protected]’192.168.0.%’ identified by ‘123456’;

刷新权限,使得创建的用户生效:

flush privileges;   

查看用户对应的权限:

select user,host from mysql.user where user=‘worpress‘;  

博客程序下载:

[[email protected]118 blog]# wget https://cn.wordpress.org/wordpress-4.2.2-zh_CN.tar.gz
[[email protected]118 blog]# ls
wordpress-4.2.2-zh_CN.tar.gz
[[email protected]-118 blog]# tar xf wordpress-4.2.2-zh_CN.tar.gz 
[[email protected]-118 blog]# ll
总用量 6572
drwxr-xr-x 5 nobody nfsnobody    4096 5月  20 2015 wordpress
-rw-r--r-- 1 root   root      6722406 6月  23 12:05 wordpress-4.2.2-zh_CN.tar.gz
[[email protected]-118 blog]# mv wordpress/* .
[[email protected] blog]# ls
index.php    wordpress-4.2.2-zh_CN.tar.gz  wp-comments-post.php  wp-includes        wp-mail.php       xmlrpc.php
license.txt  wp-activate.php               wp-config-sample.php  wp-links-opml.php  wp-settings.php
readme.html  wp-admin                      wp-content            wp-load.php        wp-signup.php
wordpress    wp-blog-header.php            wp-cron.php           wp-login.php       wp-trackback.php
[[email protected] blog]#rm –rf wordpress/    #删掉,避免带路径

nginx环境配置准备:

[[email protected]118 conf]# vim nginx.conf
worker_processes  1;   
events {               
    worker_connections  1024; 
}          
http {     
    include       mime.types;  
    default_type  application/octet-stream; 
    sendfile        on; 
    keepalive_timeout  65; 
   
 server { 
        listen       80; 
        server_name  www.test.com; 
        root  html/blog;
    location / { 
            index  index.php index.html index.htm;
           }
        location ~ .*\.(php|php5)?$ {
           fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       include fastcgi.conf;
         }
        error_page   500 502 503 504  /50x.html;
     }
}

 php环境配置准备:

[ro[email protected]118 html]# chown -R root.root blog/
[[email protected]-118 html]# find ./blog/ -type f|xargs chmod 644
[[email protected]-118 html]# find ./blog/ -type d|xargs chmod 755
[[email protected]-118 html]# mkdir -p ./blog/wp-content/uploads

但是这样设置用户无法更改头像,上传图片,我们可以单独给他们设置权限。

[[email protected]118 html]# chown -R nginx.nginx ./blog/wp-content/uploads  #网站上传目录权限,没有则创建一个即可

修改所有php文件属主为root,避免网站php程序遭到篡改

[[email protected]118 html]# find ./blog/ -type f -name "*.php"|xargs chown -R root.root

现在我们启动nginx服务、php服务、mysql服务:

[[email protected]118 html]# /application/nginx/sbin/nginx 
[[email protected]-118 html]# /application/php/sbin/php-fpm
[[email protected]-118 html]# /etc/init.d/mysqld start

分享图片

打开浏览器:www.test.com

分享图片

分享图片

分享图片

由于前期我们把权限搞了,现在需要复制出来,手动创建wp-config.php文件传上去即可。当然也可以在前面把安全降低777也行,后期再加固权限。

分享图片

分享图片

此时我们查询下数据库里面的信息:

分享图片

分享图片

分享图片

ok,我们现在发一个博客试试:

分享图片

分享图片

分享图片

我们查看一下上传图片路径,发现有多张图片,原因是博客优化图片来着(主页展示图片跟文章展示图片大小)

分享图片

同时我们还发现网址后面带参数,说明是动态博客。

下面我们为wordpress博客设置伪静态规则:

1.打开博客后台登录进去----设置----固定连接----自定义结构,输入下面的代码保存即可:

分享图片

自定义结构帮助:https://codex.wordpress.org/Using_Permalinks

2. nginx配置文件的server容器中添加下面的代码:红色部分

[[email protected]118 conf]# vim nginx.conf
worker_processes  1;   
events {               
    worker_connections  1024; 
}          
http {     
    include       mime.types;  
    default_type  application/octet-stream; 
    sendfile        on; 
    keepalive_timeout  65; 
   
 server { 
        listen       80; 
        server_name  www.test.com; 
        root  html/blog;
    location / { 
            index  index.php index.html index.htm;
    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
     }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
     }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
     }
    }
        location ~ .*\.(php|php5)?$ {
           fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       include fastcgi.conf;
         }
        error_page   500 502 503 504  /50x.html;
     }
}
[[email protected]-118 conf]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3/conf/nginx.conf test is successful
[[email protected]-118 conf]# /application/nginx/sbin/nginx -s reload

分享图片

 我们进入mysql 可以查看到原始的地址加以对比:

[[email protected]118 conf]# mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 118
Server version: 5.5.32 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type help; or \h for help. Type \c to clear the current input statement.

mysql> use wordpress;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| bh_commentmeta        |
| bh_comments           |
| bh_links              |
| bh_options            |
| bh_postmeta           |
| bh_posts              |
| bh_term_relationships |
| bh_term_taxonomy      |
| bh_terms              |
| bh_usermeta           |
| bh_users              |
+-----------------------+
11 rows in set (0.00 sec)

mysql> select * from bh_posts\G;

分享图片

php.ini 配置文件的深入解析详情见:https://www.jb51.net/article/38632.htm

时间:2019-06-25 01:09:33阅读(11)
联系我们 - 留言反馈
© 2017 版权所有 鲁ICP备17052893号