当前位置: 首页 > news >正文

有了云服务器怎么做网站新乡微网站建设

有了云服务器怎么做网站,新乡微网站建设,花木网站模版,html制作新闻信息展示页面一、问题描述 今天迁移了wordpress站点至新服务器,结果上传图片出现“无法将上传的文件移动至wp-content/uploads”的提示,这是怎么回事,为什么会这样。 报错如下: 2023/02/20 08:57:48 [error] 9861#9861: *79624 FastCGI sen…

一、问题描述

今天迁移了wordpress站点至新服务器,结果上传图片出现“无法将上传的文件移动至wp-content/uploads”的提示,这是怎么回事,为什么会这样。

报错如下:

2023/02/20 08:57:48 [error] 9861#9861: *79624 FastCGI sent in stderr: "PHP message: PHP Warning:  file_put_contents(/usr/share/nginx/html/wordpress/wp-content/uploads/wpo/images/wpo_logo_small.png.webp): failed to open stream: Permission denied in /usr/share/nginx/html/wordpress/wp-content/plugins/wp-optimize/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php on line 71PHP message: PHP Warning:  file_put_contents(/usr/share/nginx/html/wordpress/wp-content/uploads/wpo/images/wpo_logo_small.png.webp): failed to open stream: Permission denied in 
/usr/share/nginx/html/wordpress/wp-content/plugins/wp-optimize/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php on line 71PHP message: PHP Warning:  file_put_contents(/usr/share/nginx/html/wordpress/wp-content/uploads/wpo/images/wpo_logo_small.png.webp): failed to open stream: Permission denied in 
/usr/share/nginx/html/wordpress/wp-content/plugins/wp-optimize/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php on line 71PHP message: PHP Warning:  file_put_contents(/usr/share/nginx/html/wordpress/wp-content/uploads/wpo/images/wpo_logo_small.png.webp): failed to open stream: Permission denied in 
/usr/share/nginx/html/wordpress/wp-content/plugins/wp-optimize/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php on line 71PHP message: PHP Warning:  file_put_contents(/usr/share/nginx/html/wordpress/wp-content/uploads/wpo/images/wpo_logo_small.png.webp): failed to open stream: Permission denied in 
/usr/share/nginx/html/wordpress/wp-content/plugins/wp-optimize/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/DestinationPreparationTrait.php on line 71PHP message: PHP Warning:  file_put_contents(/usr/share/nginx/html/wordpress/wp-content/uploads/wpo/images/wpo_logo_small.png.webp): failed to open stream: Permission denied in 
/usr/share/nginx/html/wordpress/wp-content/plugins/wp-optimize/vendor

以上错误日志中,主要的错误信息为:

failed to open stream: Permission denied即无法打开二进制流(即上传的图片),权限被拒绝

出现此类问题时,一定要查看错误日志!!!

nginx的错误日志、php的错误日志,系统的日志等等,需要仔细查看错误信息,一定会给出相应的错误信息的,如果实在不行,可以开启php的debug模式

二、问题解决

2.1 修改属主属组

  • 新建nginx用户组
    2.1 新建nginx用户组
useradd nginx -s /sbin/nologin -M
  • 修改nginx配置文件
# vim /etc/nginx/nginx.conf
user  nginx;
  • 修改php-fpm配置文件

使用find命令找到www.conf文件

find / -name www.conf

修改php启动用户和用户组

# vim /etc/php-fpm/www.conf
user = nginx
group = nginx
  • 重新加载nginx和php-rpm
systemctl restart nginx
systemctl restart php-rpm
  • 修改wordpress 用户和用户组

进入wordpress根目录(判断标准是包含wp-admin、wp-content、wp-includes三个目录),并将根目录下所有文件用户组改成nginx。

修改文件属主

chown -R nginx wordpress

修改文件用户组

chgrp -R nginx wordpress

-R表示更改wordpress目录及其下所有文件和目录。

  • 验证生效
    ps aux | grep nginx

2.2 赋予所有权限

找到所在的文件目录,设置文件夹权限为777即可。(该方式相对比较暴力)

chmod -R 777  /usr/share/nginx/html/wordpress

2.3 关闭防火墙及selinux

以上两个问题是网上最多人提出的,但下面这个selinux的问题一定是你万万没想到的。

在 CentOS 7 上,SELinux 默认处于启用状态。SELinux 通过限制和定义服务器处理请求以及用户与套接字、网络端口和基本目录交互的方式来提高服务器安全性。SELinux 可能会在访问文件或目录或将文件或目录写入 DocumentRoot 时产生问题

解决方法是 :关闭selinux

永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

临时方法 – 设置系统参数

使用命令

setenforce 0

注:

setenforce 1 设置SELinux 成为enforcing模式 (开启)
setenforce 0 设置SELinux 成为permissive模式(关闭)

2.4 设置selinux

出于安全原因,不建议禁用 SELinux,因为将允许整个系统受到损害。但是,我们可以更新SELinux 策略以允许在特定目录上进行读写。下面是设置 SELinux 策略以允许apache用户读取和写入 wordpress 下特定目录的完整命令集。

  • 首先重新建立SELinux上下文
restorecon -Rv /usr/share/nginx/html/wordpress
  • 更改 webroot 的所有者
chown -R nginx:nginx /usr/share/nginx/html/wordpress
  • 更改基本权限
chmod -R g+w /usr/share/nginx/html/wordpress
chmod g+s /usr/share/nginx/html/wordpress
  • 建立 SELinux 权限
# 将所有文件设为只读
chcon -R -t httpd_sys_content_t /usr/share/nginx/html/wordpress# 只允许写入上传目录
chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/wordpress/wp-content/uploads/

2.5 远程文件参数开启

vim php.ini
设置 allow_url_fopen = On  //该选项默认已开启,为on便是激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象文件等。

注:allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。

http://www.yayakq.cn/news/60447/

相关文章:

  • 软件开发视频网站wordpress 框架
  • seo网站结构杭州编程培训机构排名
  • 网站建设性能分析抖音广告推广
  • 唐山制作网站的公司网络规划设计师是干啥的
  • 网站 pinghei顺德o2o网站建设
  • 免费建站网站一级大录像不卡在线看化妆品网站建设的论文
  • 网站报价广东峰凌建设有限公司网站
  • 国美电器网站建设的思路做游戏网站有钱赚吗
  • 做大型网站费用做网站银川
  • 网站结构的类型wordpress界面英文
  • 旅游网站设计与实现论文拼多多网站分析
  • 西安电商网站建设揭阳网站建设团队
  • 室内设计师上网第一站橱柜网站源码
  • 特别酷炫网站住建部2022年执行的新规范
  • 怎样理解网站建设与开发这门课遵义网站建设txwl
  • 做教育机器网站qq群推广引流
  • 秦皇岛微信推广平台seo经理
  • 石家庄有哪些做网站的公司wordpress需要多大内存
  • 设计一个网站的首页步骤广东省著名商标在什么网站做
  • 国际品牌的广州网站建设wordpress悬浮工具
  • 购物帮–做特惠的导购网站阿里巴巴运营岗位职责
  • 互联网站产品开发的流程营销手机网站
  • 网站调用字体库媒体平台推广
  • 网站空间要备案吗苏州建网站的公司一站式服务
  • 百度公司做网站优化多少钱设计师入门必学软件
  • 网站自动跳转怎么办中国纪检监察报电子版
  • 电脑科技网站模板网站主体负责人不是法人
  • 清溪做网站百度账号登录入口
  • 淘宝网站用什么语言做的wordpress 分享实现
  • 集团网站推广凡科网上商城