乐趣区

Linux下安装WordPress搭建网站

介绍

本文记述在 Linux 零碎 CentOS7.5 版本下联合 PHP、MySQL、Nginx 的环境通过 WordPress 装置、部署网站的过程,可提供参考。

全过程的步骤可按程序分为:

  • 装置 nginx
  • 装置 php
  • 装置 mysql
  • 装置 WordPress

在结尾会分享几个常见问题,并提供解决办法。

开始搭建

一. 装置 Nginx

  • 装置所需依赖

    yum install gcc-c++
    
    yum install pcre pcre-devel
    
    yum install zlib zlib-devel
    
    yum install openssl openssl\--devel
  • 装置 Nginx

    // 切换到 /usr/local 目录下
    
    // 下载
    
    wget http://nginx.org/download/nginx-1.7.4.tar.gz
     
    // 解压
     
    tar -zxvf nginx-1.7.4.tar.gz
    
    // 进入 nginx 装置目录
    
    cd  nginx-1.7.4 
     
    // 应用 --prefix 参数指定 nginx 装置的目录,make、make install 装置
     
    ./configure 
    
    // 装置
    
    make
    
    make install
    
    // 运行
    
    /usr/local/nginx/sbin/nginx
    
    // 重启
    
    /usr/local/nginx/sbin/nginx -s reload

    装置完 Nginx 后会主动运行在 80 端口,查看 Nginx 运行状态:

    ps -ef | grep nginx
    
    // 或
    
    netstat -tunlp

    尝试应用浏览器拜访:

    若进入改页面则阐明 Nginx 服务启动胜利,拜访失败请思考防火墙、Nginx 状态和配置问题。

  • 配置 Nginx 并验证
  1. Nginx 服务启动胜利后,当初应该思考,尝试将本人创立的我的项目配置到 Nginx 拜访目录。到 /var/www 目录下:

    // 创立文件夹
    
    mkdir test
    
    // 进入文件夹,新建一个 HTML 文件
    
    cd test
    
    // 创立
    
    touch index.html
    
    // 编辑
    
    vi index.html
    
    // 在 index.html 贴入代码:<html>
        <body>
            <h1>Test Html service</h1>
        </body>
    </html>
  2. 切换到/usr/local/nginx/conf,把 nginx.conf 文件的 server 块内地址批改为:/var/www/test
  3. 保留退出后,重启 Nginx,浏览器拜访:http:// 服务器地址:80,若胜利看到本人创立的页面阐明配置实现。

二、装置 PHP

  • 获取 yum 源:

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  • 查看蕴含内容:

    yum search php71w

  • 装置过程:

    // 装置
    
    yum install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml
    
    // 启动 php-fpm
    
    service php-fpm start
    
    // 查看 php-fpm 状态
    
    ps -ef|grep php
  • 配置:

    申请自身为 PHP 我的项目的 WordPress 时,Nginx 须要交给 PHP 解决,两者之间须要 CGI 协定实现通信,上一步启动的 php-fpm 便是实现 CGI 的工具。为了搭建这样的桥梁,装置启动了 php、php-fpm、Nginx 之后,还须要在 Nginx.conf 里配置,在 server 块中贴入代码:

    location ~ \.php$ {
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    再在我的项目拜访门路配置处退出index.php

    再将之前为了验证 Nginx 创立的 /var/www/test 下的 index.html 改为index.php,并将代码批改为:

    <?php
    phpinfo();
    ?>

    再次通过浏览器拜访,胜利显示该页阐明此步胜利。

三、装置 MySQL

  • 装置过程:

    // 获取源
    
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    
    // 下载
    
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    
    // 装置
    
    sudo yum install mysql-server
    
    // 重启
    
    service mysqld restart
    
    // 进入 mysql(首次进入无需明码)mysql -u root
    
     // 应用 mysql 库
    
    >use mysql;
    
    // 设置明码
    
    >update user set password=password('设置的明码') where user='root';
    
    // 刷新
    
    >flush privileges;
    
    // 创立库(此时可提前将 WordPress 用的数据库建好)>create database wordpress;
    
    // 查看库
    
    >show databases;
    
    // 创立实现后,退出
    
    >quit;

四、装置 WordPress

  • 在 WordPress 官网下载 tar.gz 后缀的压缩包。
  • 将压缩包上传到服务器 /var/www 目录下,能够用 Xftp 工具上传。
  • 解压:tar -zxvf 文件名.tar.gz
  • 再回到 nginx.conf 配置文件,将拜访门路改为:/var/www/wordpress
  • 重启 Nginx:/usr/local/nginx/sbin/nginx -s reload
  • 浏览器拜访:
  • 依据提醒进行装置配置。
  • 创立 wp-config.php 时,wordpress 提供的复制模板 wp-config.php 文本最初少了个?>,检查一下,如果短少须要手动加上。
  • 最初一系列简略操作,装置实现。

常见问题

一、操作提醒输出 FTP 连贯信息

  • 起因:通常用户配置或权限问题
  • 解决办法

    • 查看 nginx.conf 配置的 user 是否与 wordpress 目录所属用户统一,若不统一批改为同一用户。
    • 拜访的用户权限有余,将 wordpress 目录权限批改
    • 在 wp-config.php 任意地位(举荐结尾处)贴入代码:define('FS_METHOD','direct');

二、装置内容 504 Getway

  • 起因:程序执行工夫过长导致响应超时
  • 解决办法

    编辑 nginx.conf,在 http 块内增加代码:

    // 连贯超时工夫
    
    fastcgi_connect_timeout 60s;
    
    // 过程向 fastcgi 过程发送申请过程的超时工夫
    
    fastcgi_send_timeout 60s;
    
    // 过程向 nginx 过程发送输入过程的超时工夫
    
    fastcgi_read_timeout 60s;
退出移动版