debian 部署wordpress

前言

鉴于我的树莓派系统是debian, 而我又很少动它,所以在折腾一圈之后,还是决定使用树莓派来搭载个人博客系统。

博客界最靓的仔莫过于大名鼎鼎的wordpress了,所以我就使用它来做我的博客系统。

而在LAMP和LNMP两种架构中,我还是选了LNMP,毕竟想熟悉一下nginx ??

?

正文

废话不多说,我们开撸~

  1. 从官网下载wordpress包,并上传到服务器。
    1.1 登录wordpress官网,然后下载最新包。

    debian 部署wordpress

? 1.2 将这个包上传到服务器。方法很多,不示范了。

?
?
2. 安装nginx,看情况修改启动用户。debian默认使用www-data进行启动,可根据自身情况在/etc/nginx/nginx.conf文件中进行修改。

apt install -y nginx
vim /etc/nginx/nginx.conf  #可选
nginx -c /etc/nginx/nginx.conf

?
访问你机器的80端口,看看服务是否起来。如果起来的话,应该有nginx的默认页面。

debian 部署wordpress

?
?
3. 安装php-fpm,将php-fpm的启动用户设置为nginx的启动用户。鉴于我用的是默认用户,所以就是www-data用户。

apt install -y php-fpm  #默认安装的是php7

修改/etc/php/7.0/fpm/pool.d/www.conf

[www]
user = www-data   #修改启动用户
group = www-data  #修改启动用户组
listen = 127.0.0.1:9000  #指定监听端口,默认9000
listen.owner = www-data  #监听用户
listen.group = www-data  #监听用户组
listen.mode = 0660       #监听权限为660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

启动php-fpm服务。

systemctl start php7.0-fpm.service
systemctl enable php7.0-fpm.service

检查9000端口是否在监听状态,是否可以telnet。

ss -tanl|grep 9000
telnet localhost 9000

debian 部署wordpress

?
?
4. 解压wordpress的压缩包,并将所有文件修改属主为nginx的启动用户。

unzip latest.zip
chown -R www-data:www-data wordpress
cd wordpress
mv * /usr/share/nginx/html
chown www-data:www-data /usr/share/nginx/html

debian 部署wordpress

可以看到,解压后的包还是很多的,而我就将其放在了/usr/share/nginx/html下。

?
?

  1. 添加nginx的配置,在/etc/nginx/sites-available中添加配置文件,用来配置wordpress的转发规则。

    server {
        listen 81;
        server_name 你的域名或ip;
        root /usr/share/nginx/html;
        access_log /var/log/wordpress_access.log;
        error_log /var/log/wordpress_error.log;
    
    
    location / {
    #   index  index.html index.htm index.php;
       index index.php;
       try_files $uri $uri/ /index.php?$query_string;
    }
    
        location ~ \.php$ {
            try_files $uri =404;
    	      fastcgi_pass localhost:9000;
            #fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    由于我这个是电信网络,所以一些敏感的端口(80/8080/443)都被封掉了。不得已只好使用其他端口了。

    配置完毕之后,重载nginx服务。

    nginx -s reload
  2. 修改wordpress相关配置,修改/usr/share/nginx/html/wp-config.php

    #数据库相关配置
    define(‘DB_NAME‘, ‘wordpress‘);
    define(‘DB_USER‘, ‘wordpress‘);
    define(‘DB_PASSWORD‘, ‘你的数据库密码‘);
    define(‘DB_HOST‘, ‘localhost‘);
    define(‘DB_CHARSET‘, ‘utf8‘);
    define(‘DB_COLLATE‘, ‘‘);
    
    #开启wordpress的debug
    define(‘FORCE_SSL_LOGIN‘, true);
    define(‘FORCE_SSL_ADMIN‘, true);
    define("FS_METHOD", "direct");
    define("FS_CHMOD_DIR", 0777);
    define("FS_CHMOD_FILE", 0777);

    ? 然后在数据库中建立wordpress数据库

    mysql -uroot -p
    create database wordpress;
  3. 访问ip:port, 应该就会出现安装界面了。
    debian 部署wordpress