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