LNMP博客项目搭建
1.进行nginx配置文件的编辑:
vim /etc/nginx/conf.d/wordpress.conf
server {
listen 80;
server_name www.myblog.com;
root /code/worpress;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#进行nginx服务重启!!
[root@node01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node01 ~]# systemctl restart nginx
2.在官网获取源码:
cd /code
# 下载 WordPress 5.8.3 中文版(若因网络问题较慢,可先下载到本地再上传)
wget https://cn.wordpress.org/wordpress-5.8.3-zh_CN.tar.gz
# 清理当前网站目录或备份测试文件后解压
tar -zxvf wordpress-5.8.3-zh_CN.tar.gz
#解压完成后
[root@node01 code]# ls
fishjoy fishjoy.zip flygame.zip qmfjdz wordpress wordpress-5.8.3-zh_CN.tar.gz
#修改windows中的hosts配置即可

3.进入数据库建表:
mysql -u root -p'yuhang.com'
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
4 rows in set (0.013 sec)
雷点:解决“两套进程、不同身份”引起的权限冲突
在默认情况下:
Nginx 的工作进程用户是:
nginxPHP-FPM 的工作进程用户是:
apache(红帽系为了兼容历史 httpd 默认用的名字)
这两个服务在处理一个网站请求时是协同工作的:
静态资源(图片、CSS、JS、HTML):Nginx 进程(用户
nginx)直接从磁盘读取并返回给用户。动态解析与文件写入(上传头像、安装插件、写入日志缓存):PHP-FPM 进程(用户
apache)负责生成和写入文件。
如果保持默认:
设成
chown -R apache:apache,Nginx 必须依赖其他用户的“读权限(o+r)”去读静态资源。一旦某些文件权限严格(如
600或700),或者目录权限没给足,就会导致一方能读、另一方报 403 Forbidden,或者 PHP 能写、Nginx 读不到。
把两者的运行用户统一成同一个账号(比如 www),以后网站目录直接一条命令 chown -R www:www /code/wordpress,两个服务就拥有了完全一致的访问和读写权限,从根本上杜绝了权限引起的各种怪异报错。
[root@node01 wordpress]# groupadd -g 666 www
[root@node01 wordpress]# useradd -u 666 -g 666 -M -s /sbin/nologin www
[root@node01 wordpress]# id www
uid=666(www) gid=666(www) groups=666(www)
[root@node01 wordpress]# vim /etc/nginx/nginx.conf
[root@node01 wordpress]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node01 wordpress]# systemctl restart nginx
[root@node01 wordpress]# vim /etc/php-fpm.d/www.conf
[root@node01 wordpress]# systemctl restart php-fpm.service
[root@node01 wordpress]# chown -R www:www /code/wordpress

评论