<!-- wp:quote -->

<p>今天学习纯手动搭建WordPress</p>
<!-- /wp:quote --> <!-- wp:more --> <!-- /wp:more --> <!-- wp:tadv/classic-paragraph --> <h2>引言</h2> <!-- /wp:tadv/classic-paragraph --> <!-- wp:tadv/classic-paragraph --> <p>这里也是接着上次说我们学习nginx,但是这里突然说搭建一个博客,我们会宝塔,可那又算得了什么呢,我们不能老是依赖于那些辅助工具,我们需要知道原理,废话不多说,我们主要还是用这个WordPress的案例来详细说明我们的nginx配置,其中的php以及mysql基本没啥说的,直接上菜吧</p> <h2>PHP</h2> <p>这里我们选择使用比较新一点的php7.3,当然其它的php版本也是一样的,除了7.0一下略有不同,不过现在7.2一下都不维护了.</p> <p>下载php,并解压</p>
wget https://www.php.net/distributions/php-7.3.13.tar.gz
tar -zxvf php-7.3.13.tar.gz
cd php-7.3.13

<p>添加用户和组</p>

groupadd www
useradd -g www www

<p>编译前安装需要的软件</p>

yum -y install wget pcre pcre-devel openssl openssl-devel libicu-devel autoconf libjpeg libjpeg-devel \
libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel \
glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap \
openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel \
gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline \
readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel

<p>开始编译</p>

./configure --prefix=/data/nmp/php \
--with-config-file-path=/data/nmp/php/etc \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--with-ldap=shared \
--with-gdbm \
--with-pear \
--with-gettext \
--with-curl \
--with-xmlrpc \
--with-openssl \
--with-mhash \
--with-gd \
--enable-fpm \
--enable-mysqlnd \
--enable-mysqlnd-compression-support \
--enable-xml \
--enable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--enable-ftp \
--enable-gd-jis-conv \
--enable-pcntl \
--enable-sockets \
--enable-zip \
--enable-soap \
--enable-fileinfo \
--enable-opcache \
--enable-maintainer-zts </code>

<p>注意你自己的编译路径哟.,然后开始安装</p>

make  && make install
<p>如果编译中遇到下面的错误:</p>
  1. configure: error: Cannot find ldap libraries in /usr/lib

<p>拷贝下文件</p>

 cp -frp /usr/lib64/libldap* /usr/lib/
<p>2. configure: error: off_t undefined; check your library configuration</p>
vi /etc/ld.so.conf
# 添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
# 保存退出
:wq
# 使之生效
ldconfig -v

<p>3、configure: error: Please reinstall the libzip distribution</p>
<p>在 https://libzip.org/download/ 下载源码,进行安装</p>
<div class="cnblogs_Highlighter sh-gutter">
<div>
<div id="highlighter_449082" class="syntaxhighlighter php">

tar xf libzip-1.5.2.tar.gz
cd libzip-1.5.2
mkdir build && cd build && cmake .. && make && make install

<p>4,CMake 3.0.2 or higher is required. You are running version 2.8.12.2</p>
<p>说明你的cmake版本过低,需要重新安装</p>
<p>先删除原有cmake</p>

yum remove cmake

<p>在 https://cmake.org/download/ 下载源码</p>
<div class="cnblogs_Highlighter sh-gutter">
<div>
<div id="highlighter_867632" class="syntaxhighlighter php">

tar xf cmake-3.14.3.tar.gz
cd cmake-3.14.3
./bootstrap && make && make install

<p>然后修改 vi /etc/profile,并加入如下内容</p>
<div class="cnblogs_Highlighter sh-gutter">
<div>
<div id="highlighter_484071" class="syntaxhighlighter php">

PATH=/usr/local/bin:$PATH
export PATH

</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /wp:tadv/classic-paragraph -->

<!-- wp:tadv/classic-paragraph -->
<p>最后再编译安装,和配置ini文件</p>

cp php.ini-development /data/nmp/php/etc/php.ini
cp /data/nmp/php/etc/php-fpm.conf.default /data/nmp/php/etc/php-fpm.conf
cp /data/nmp/php/etc/php-fpm.d/www.conf.default /data/nmp/php/etc/php-fpm.d/www.conf

<p>将你的php.ini文件里面的下面几个选项修改如下:</p>

max_execution_time = 120
max_input_time = 120
memory_limit = 1024M
post_max_size = 128M
date.timezone = PRC
extension_dir = "/data/nmp/php/lib/php/extensions/no-debug-zts-20180731"

<p>至此php安装好了</p>
<h2>mysql</h2>
<p>现在就是mysql的语句了,之前我们的mysql已经安装好了,在前面的章节有说过.首先进入mysql</p>

mysql -u root -p
<!-- /wp:tadv/classic-paragraph --> <!-- wp:paragraph --> <p>如果你当时没有设置密码的话,那么直接回车就可以进入mysql了</p> <!-- /wp:paragraph --> <!-- wp:tadv/classic-paragraph --> <p>创建名为wordpress的数据库:</p>
CREATE DATABASE wordpress;
<p>创建名字叫做wordpress的用户:</p>
CREATE USER wordpress@localhost;
<p>设置密码:</p>
SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");
<p>配置权限:</p>
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'your password';
<p>刷新权限配置:</p>
FLUSH PRIVILEGES;
<p>退出MySQL:</p> <p>现在我们要做的是NGINX的配置了</p> <h2>Nginx</h2> <p>在nginx的配置文件里写下面的话:</p>
server {
        listen       80;
        server_name  localhost;
        location / {
            root   /var/www/html/wordpress;
            index  index.php index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
        access_log off;
        root /var/www/html/wordpress;
        expires 30d;
        break;
        }
        location ~ .php$ {
        root /var/www/html/wordpress;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  /var/www/html/wordpress$fastcgi_script_name;
         include        fastcgi_params;
        }
    }

<!-- /wp:tadv/classic-paragraph -->

<!-- wp:paragraph -->
<p>这里监听80端口,然后说明了我们访问的目录是/var/www/html/wordpress而不是我们原来的那个nginx目录下面的html文件夹,这样做是想的,日后我们的网站多了我们就要设置一个单独的目录,而不是全都放在nginx下面,然后时一个error 页面,这个没什么说的,你可以去自定义一个好看的.然后时我们用正则匹配我们的图片,就是你下载的WordPress里面源码里的图片,还有最后一个正则匹配,说的时匹配目录下面的.php文件都交给本地的9000端口去处理.而我们的9000端口都是php,所以这样就给了php处理.最后再重启nginx,到此nginx的问题解决了,</p>
<!-- /wp:paragraph -->

<!-- wp:tadv/classic-paragraph -->
<h2>源码下载</h2>
<p>最后问题就是我们要去下载源代码和我们的正确配置我们的源码.</p>

wget https://download.yuanpeng888.top/123/wordpress-5.3.2-zh_CN.zip
unzip wordpress-5.3.2-zh_CN.zip

<p>这样就下载并解压好了,然后我们把下载的WordPress文件夹里面的内容都移动到/var/www/html/wordpress里面去,最后我们的重点就是将这些文件的权限配置成www用户www组.</p>

chown -R www:www wordpress/
<p>这样就可以访问我们的网站了,之后我们在第一次安装的时候,你会发现你的数据库啥的都填写正确但是还是说数据库密码错误,这时候你只需要将你的数据库localhost换成127.0.0.1就OK了.</p> <!-- /wp:tadv/classic-paragraph -->
最后修改:2020 年 02 月 28 日 06 : 51 PM
请俺喝杯咖啡呗