当前位置:首页 » 编程语言 » nginxphpfpm权限

nginxphpfpm权限

发布时间: 2022-07-27 16:30:34

1. php-fpm 正常启动,nginx也正常启动,但是为什么访问PHP是502

  1. 确定nginx已解析php-fpm

  2. 确定访问目录是否正确并且有执行权限

  3. 确定php服务是否启动,如果没有启动,状态应该是下载php文件

2. Ubuntu14.04 安装nginx+php5-fpm 后访问php页面空白,怎么解决

先看位置对不对,可能nginx解析的地址不对
再看日志
我估计,你是nginx配置错了!
测试方法
比如再你访问的页面里面随便写点东西 不过要确定不是404 如果是404 你还是乖乖去看下nginx配置到哪了。。。。
要注意nginx的访问权限

3. 如何正确配置Nginx+PHP

1. 将nginx和php都装好
2. 然后配置nginx,将php请求分发给php-fpm处理
linux下的配置文件一般在/usr/local/nginx/conf/nginx.conf
找到下面字样,并取消注释,且注意这个$document_root这个地方(原本应为$script***的,改成$document_root)
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
3.启动nginx和php-fpm,然后写个phpinfo脚本测试下成功与否就可以
更多问题到问题求助专区http://bbs.hounwang.com/

4. 如何在CentOS 7中使用Nginx和PHP7-FPM安装Nextcloud

先决条件64 位的 CentOS 7服务器的 Root 权限,在 CentOS 7 中安装 Nginx 和 PHP7-FPM,在开始安装 Nginx 和 php7-fpm 之前,要先添加 EPEL 包的仓库源。从 EPEL 仓库来安装 ,然后我们还需要为 php7-fpm 添加另外一个仓库。互联网中有很个远程仓库提供了 PHP 7 系列包,然后就是安装 PHP7-FPM 以及 Nextcloud 需要的一些包。最后,从服务器终端里查看 PHP 的版本号,以便验证 PHP 是否正确安装。详细你可以去后盾人看看,这些都是后盾人里面的,哪里有详细的视频教学都是高质量,我自己就是在里面学的。

5. 如何配置Nginx多子目录下 统一目录名 upload 目录的php的执行权限

你的配置是错误的,存在安全漏洞,如果将php程序文件后缀改成gif, 发布到upload目录中,也有可能被执行的。
我们要做的是,upload目录下的任何文件(包括php文件,全不作解析执行),这样即便有人上传木马到upload,也无法执行,就安全得多。配置方法如下:
location ~ ^.*/upload/ {
}
将这个规则放在php后缀解析规则之前,这样就可以了,不要惊讶,空规则就可以了,因为正规表达式定义的location只匹配一次。
另外,你的网站文件所有者帐号是什么?php-fpm子进程以什么帐号运行?

6. 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM

准备篇:

1、配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################

#-config-firewall
#.
*filter
:INPUTACCEPT[0:0]
:FORWARDACCEPT[0:0]
:OUTPUTACCEPT[0:0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT


#########################################################
/etc/init.d/iptables restart #最后重启防火墙使配置生效

2、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭
shutdown -r now #重启系统

3、配置CentOS 6.2 第三方yum源(CentOS默认的标准源里没有nginx软件包)
yum install wget #安装下载工具wget

wgethttp://www.atomicorp.com/installers/atomic

#下载atomic yum源
sh ./atomic #安装
yum check-update #更新yum软件包
################################################################
安装篇:

一、安装nginx
yum install nginx #安装nginx,根据提示,输入Y安装即可成功安装
service nginx start #启动
chkconfig nginx on #设为开机启动
/etc/init.d/nginx restart #重启
rm -rf /usr/share/nginx/html/* #删除ngin默认测试页

二、安装Mysql
1、安装mysql

yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成
/etc/init.d/mysqld start #启动MySQL
chkconfig mysqld on #设为开机启动
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
shutdown -r now #重启系统

2、为root账户设置密码
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!

MySql密码设置完成,重新启动 MySQL:
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #启动
service mysqld restart #重启

三、安装PHP
1、安装PHP
yum install php #根据提示输入Y直到安装完成
2、安装PHP组件,使PHP支持 MySQL、PHP支持FastCGI模式

yuminstallphp-mysqlphp-gdlibjpeg*php-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcphp-mbstringphp-mcryptphp-bcmathphp-mhashlibmcryptlibmcrypt-develphp-fpm

#根据提示输入Y回车
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/nginx restart #重启nginx
/etc/rc.d/init.d/php-fpm start #启动php-fpm
chkconfig php-fpm on #设置开机启动
################################################################
配置篇

一、配置nginx支持php
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak #备份原有配置文件
vi /etc/nginx/nginx.conf #编辑
user nginx nginx;#修改nginx运行账号为:nginx组的nginx用户
:wq! #保存退出

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak #备份原有配置文件
vi /etc/nginx/conf.d/default.conf #编辑

index index.php index.html index.htm;#增加index.php

#.0.0.1:9000
#
location~.php${
roothtml;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}


#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

二、配置php

vi /etc/php.ini #编辑

date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC

disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname


#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
open_basedir = .:/tmp/ #在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/
:wq! #保存退出

三、配置php-fpm

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #备份原有配置文件
vi /etc/php-fpm.d/www.conf #编辑
user = nginx #修改用户为nginx
group = nginx #修改组为nginx

/etc/init.d/mysqld restart #重启MySql
/etc/init.d/nginx restart #重启nginx
/etc/rc.d/init.d/php-fpm restart #重启php-fpm
################################################################
测试篇
cd /usr/share/nginx/html/ #进入nginx默认网站根目录
vi index.php #新建index.php文件

<?php
phpinfo();
?>


:wq! #保存

chown nginx.nginx /usr/share/nginx/html/ -R #设置目录所有者

chmod 700 /usr/share/nginx/html/ -R #设置目录权限

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
################################################################

备注

nginx默认站点目录是:/usr/share/nginx/html/

权限设置:chown nginx.nginx /usr/share/nginx/html/ -R

MySQL数据库目录是:/var/lib/mysql

权限设置:chown mysql.mysql -R /var/lib/mysql


参考文档:http://www.osyunwei.com/archives/2353.html

7. mac 权限的nginx怎么支持php

Mac OSX下配置nginx和php
首先安装nginx, 其次需要HomeBrew, 按照官网说明安装
然后安装PHP,以下的命令在终端执行:

更新下brew的库,加入php支持:

brew tap homebrew/pes
brew tap josegonzalez/homebrew-php
然后执行:

# 需要mysql,就把--without-mysql改为--with-mysql
brew install --without-apache --with-fpm --without-mysql php55
执行上面的命令后,brew就开始下载php源码编译安装,大概几分钟时间。
安装完成后,配置php/bin到终端环境(未验证,貌似跟mac本身自带的php有冲突?):

#这一步成不成功没关系,这步的目的只是让终端可以执行PHP命令,不影响web服务器使用
echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >> ~/.bash_profile
设置随系统自动启动:

mkdir -p ~/Library/LaunchAgents
#注意文件homebrew.mxcl.php55.plist的路径,需要根据实际情况改成自己的目录和文件名
cp /usr/local/Cellar/php55/5.5.13/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
上面只是设置了自启动,但是还没真正启动,所以执行以下命令手动启动PHP-FPM:

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
php的配置和启动工作已经结束了,然后验证一下,执行

lsof -Pni4 | grep LISTEN | grep php
如果输出以下类似内容,那就表示成功了,否则。。。自找原因吧:

php-fpm 69659 frdmn 6u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69660 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69661 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69662 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
最后就是配置nginx虚拟机:

server {
listen 80;
server_name php.cssor.com;
root /var/www;

location / {
index index.html index.shtml;
}
#配置后缀为.php的就交给php引擎处理
#如果需要整站都托管给php,就把location ~ \.php$ 替换为location / ,同时上面的location / 配置就不需要了
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

8. nginx web 目录下权限设置哪个是对的

最近Nginx的使用者是越来越多,多数网站也从原本使用很多的Apache平台或其他平台迁移到了Nginx。对于刚刚接触Nginx的朋友来说,如何限制Nginx+PHP的目录权限成了实际问题,大家都知道,在Apache中可以很容易的对虚拟目录进行权限控制,如:程序代码如下:[email protected]/usr/www/xpb/ServerNameIP:80ServerAliasIPErrorLoglogs/default-error_logphp_admin_valueopen_basedir"/tmp/:/usr/www/xpb/"关键是后面的这句php_admin_value,这样就限制了php的操作目录仅限于/tmp/和/usr/www/xpb/这两个目录了。对于Apache虚拟主机来说,这个设置十分有用,结合在php.ini中禁用一些php函数,几乎可以杜绝PHP木马对其他站点及系统的危害。我虽没专业做过Linux下的虚拟主机,但相信各大虚拟主机商也是这么做的。看来对于Apache最好的法还是使用“在php.ini中禁用一些危险的php函数和在Apache虚拟主机中配置php_admin_value”的方式来做虚拟主机的安全。关于Nginx的配置文件,参考了很多资料,好像是不支持php_admin_valueopen_basedir,也就是Nginx暂时还没有Apache的php_myadmin_value这类的设置。如果用Nginx做虚拟主机,各用户之间的目录安全控制如何来做呢?网上很多人说,限制上传文件类型,做好程序安全不就行了么?对,对于自己的站点来说这样完全可以。但如果虚拟主机是给别人用的,又给予了FTP权限,总不能不让人上传php文件吧。转载,仅供参考。

9. 为什么Nginx下PHP-FPM错误日志不显示

1、检查一下你得程序对error_log目录下面有没有写的权限
2、主要看你是使用什么身份运行的php-fpm;

热点内容
ftpup上传三个文件 发布:2025-01-25 01:38:15 浏览:762
录音加密忘记 发布:2025-01-25 01:37:29 浏览:501
闲鱼卖脚本 发布:2025-01-25 01:37:24 浏览:157
密码汇款在什么区域了兑付 发布:2025-01-25 01:36:49 浏览:146
wamp数据库 发布:2025-01-25 01:36:02 浏览:794
安卓通知栏怎么显示秒表 发布:2025-01-25 01:32:47 浏览:757
apk反编译入门 发布:2025-01-25 01:26:43 浏览:472
英雄联盟在哪投诉脚本 发布:2025-01-25 01:26:43 浏览:314
php在线统计 发布:2025-01-25 01:26:42 浏览:65
手机加密室 发布:2025-01-25 01:25:57 浏览:219