lnmp上传数据以及分离数据库、结合存储服务

搭建完成lnmp架构后,需要进行传输数据(撰写博客或者是上传图片等资源)
有时上传资源时会遇到返回502以及500状态码

补充:502状态码以及500状态码

502状态码信息
出现原因:后端服务无法进行访问,返回给用户客户端状态码信息
用户—>nginx---->找不到后端服务信息
用户<----502内部错误

500状态码信息
出现原因:内部数据库服务没有正常启动
用户---->nginx----->PHP------->mysql(没有找到)
用户<----500内部错误<-----数据库有问题

动态网站搭建后如何上传数据

通过动态网站交互方式:存储原理
在这里插入图片描述
用户----nginx php Apache Tomcat (中间件) ----看数据资源/存储数据(存储设备)

网站上传数据存储路径:/html/blog/wp-content/uploads/2020/02/Penguins.jpg

解决数据无法上传方式:
方式一:修改站点目录权限(PHP进程用户权限–默认是Apache用户)

chown  -R nginx.nginx  /html/blog/

方式二:修改PHP程序进程用户和nginx程序进程用户保持统一

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

8 user = nginx
10 group = nginx
systemctl restart php-fpm

客户端上传数据大小限制:
限制因素一:由于nginx服务影响
Syntax: client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location

配置文件中配置
[root@nfs01 etc]# cat /etc/nginx/conf.d/blog.conf

server {
    listen       80;
    server_name  blog.oldboy.com;
    root         /html/blog/;
    index        index.php  ;
    location ~ \.php$ {
    client_max_body_size 100m;  ---调整大小
           root /html/blog/; 
           fastcgi_index index.php;
           fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           fastcgi_pass  127.0.0.1:9000;
           include fastcgi_params;
     }
 } 

限制因素二:由于PHP服务影响
vim /etc/php.ini

upload_max_filesize = 2M  -- 调整大小为10M

当然,这些配置可能是不全的,PHP有些配置文件中还有一些是间接影响这上传文件的大小的,详细见《PHP修改上传文件大小限制》博客

提示:josn问题可能是因为上传的数据太大了,可能会出现这个问题

web服务器(lnmp搭建在nginx服务器上了)+NFS服务器

实现将上传数据的存储地址改变为NFS存储服务器上。
第一个历程:将本地存储数据进行备份

mkdir /tmp/blog_backup
    mv /html/blog/wp-content/uploads/* /tmp/blog_backup/

第二个历程:检车确认存储服务是否可以正常使用

showmount -e 
172.16.1.31

第三个历程:进行存储服务挂载操作

mount -t nfs 
172.16.1.31:/data/blog/  /html/blog/wp-content/uploads/

但是 这样操作后再次上传数据就会出现问题
再次传输数据是会提示没有写入权限的问题

## 解决:

lnmp架构网站数据库分离操作
分离数据库 和存储服务器作用类似 可以实现数据共享 统一存储

数据库服务数据迁移过程:
第一个历程:备份数据库信息

mysqldump -uroot -poldboy123 -A  /tmp/backup.sql

第二个历程:迁移数据库信息

scp -rp /tmp/backup.sql  10.0.0.41:/tmp/

第三个历程:恢复数据信息(迁移之后数据库服务器)

mysql -uroot -poldboy123  < /tmp/backup.sql

补充:

mysqladmin  设置密码信息/修改密码信息/  不能实现破解密码

设置密码

mysqladmin -u username password "initpassword"

修改密码

mysqladmin -u username -p password newpassword

数据库迁移完毕后续操作:
提示:将本地不使用的(如果迁移出库后不再使用的话)关闭本地数据库服务

   systemctl stop mariadb.service 
   systemctl disable mariadb.service

第四个历程:需要修改连接数据代码信息
cd /html/blog/
vim wp-config.php

   32 define( 'DB_HOST', '172.16.1.51' );

第五个历程:需要调整数据配置信息

  grant all on blog.* to 'blog'@'172.16.1.%' identified by 'oldboy123';

lnmp架构部署其他动态网站
第一个历程:获取代码信息
第二个历程:将代码信息存储到相应站点目录中
第三个历程:进行开源代码初始化过程
第四个历程:获取开源代码保存数据目录信息
第五个历程:进行网站页面目录挂载操作

发布了170 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42506599/article/details/104303321