LNMP搭建WordPress博客

几经折腾,我的个人博客终于搭建完成!

环境

1.nginx-1.10.2

2.php-7.0.17

3.mysql-5.6.17

4.wordpress-4.7.3

一、nginx

  • 安装

执行以下指令安装Nginx:

yum install nginx

  • 配置

使用nginx -v指令检查Nginx是否安装完成。然后打开Nginx配置文件:


    vi /etc/nginx/nginx.conf
  server {
        listen       80 default_server;  //监听端口
        listen       [::]:80 default_server;
        server_name  teach.shconstant.cn;  //服务器访问地址
        root         /usr/share/nginx/html;  //服务器根目录

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {  //服务器根目录访问映射路径
            root /usr/share/nginx/html/blog;
            index index.php index.html index.htm;  //首页
        }

        error_page 404 /404.html;
            location = /40x.html {
            root /usr/share/nginx/html;
        }

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

        rewrite /wp-admin$ $scheme://$host$uri/ permanent;
        location ~ \.php$ {  //解析访问php文件时处理规则
            root /usr/share/nginx/html/blog;
            fastcgi_pass 127.0.0.1:9000;  //php-fpm
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
  • 权限设置

访问服务器地址,会出现Access Denied,403Forbidden禁止访问,我们还需要修改服务器访问目录权限


    chown -R nginx:nginx /usr/share/nginx/html/blog
    chmod -R 774 /usr/share/nginx/html/blog

nginx:nginx为Linux用户和用户组,后文配置php-fpm时将创建。

  • SELinux设置(selinux一般是关闭的,所以这一步可以忽略)为了能完整使用wordpress读写博客、安装主题插件功能还需要修改SELinux安全上下文以拥有对目录文件的读写权限:
        setsebool -P httpd_read_user_content 1
        setsebool -P httpd_enable_homedirs 1
        chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/blog

    二、MySQL

    • 安装

    CentOS7以前可以安装MySQL,但是在CentOS7中MySQL由MariaDB替代,大致还是相同的安装方式:

    
        yum install mariadb mariadb-server   
        或
        yum install mysql mysql-server
    
    • 配置

    安装完成后,拷贝配置文件至/etc/my.conf,若已存在my.conf直接覆盖:

    
        cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
    
    • 创建数据库

    随后给数据库创建用户,输入指令:

    
        mysql_secure_installation
    

    按照提醒依次输入用户名、密码,对于其他询问可以直接确定,到最后创建账户成功。

    
        mysql -u root -p
    

    输入之前创建的用户名和密码登录数据库,创建一个wordpress数据库,数据库名可以自定义:

    
        create database wp_db
    

    use wordpress切换至该数据库,创建连接该数据库的账号:

    
        grant all privileges on wp_db.* to wpadmin@localhost identified by "wp123456"
    
    • 权限

    修改数据库文件权限:

    
        chown mysql:mysql /var/lib/mysql -R
    

    三、PHP

    • 安装
    
        sudo yum -y install php php-fpm php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl
    
    
        sudo yum -y install epel-release
    
    • 配置

    打开php-fpm配置文件:

    
        vi /etc/php-fpm.d/www.conf
    

    找到对应owner,user,group,修改为nginx用户和nginx用户组:

    
        listen.owner = nginx
        listen.group = nginx
        listen.mode = 0666
        ...
        user = nginx
        group = nginx

    然后激活nginx用户:

    
        usermod -s /bin/bash username
    

    也可以直接修改文件:

    
        cat /etc/passwd
    

    发现它的shell是“/sbin /nologin”,需要将起改成“/bin/bash”。

    • 配置php.ini打开php.ini配置文件:
    
        vi /etc/php.ini
    

    找到open_basedir所在行,此参数规定php所能运行的目录,若不修改该值,访问nginx服务器将报Access Denied错误;将该参数值修改为服务器访问目录或者直接注释该行。

    • 启动启动php-fpm:
    
        systemctl start php-fpm
        systemctl enable php-fpm    
        //设置开机自启动php-fpm

    四、WordPress

    下载WordPress安装包,可以直接wget获取也可以ftp上传,解压到/usr/share/nginx/html/blog,访问install.php即进行安装:

  • 给配置文件wp-config-sample.php改名字为:wp-config.php,并修改配置文件
  • /**WordPress数据库的名称 */
     23 define('DB_NAME''wp_db');
     24 
     25 /** MySQL数据库用户名 */
     26 define('DB_USER''wpadmin');
     27 
     28 /** MySQL数据库密码 */
     29 define('DB_PASSWORD''wp123456');
     30 
     31 /** MySQL主机 */
     32 define('DB_HOST''localhost');
  • 图形界面配置安装:URL访问:

http://teach.shconstant.cn/wp-admin/install.php——安装界面

直至安装完成!