centos6.8 简单部署nginx+php_nginx一招配置,帮你快速隐藏php后缀名

现在很多人都喜欢用nginx作为Web服务器部署网站,nginx配置起来也是相当的方便,如果你的网站是PHP语言开发的话,下面我们教大家简单的一招快速的隐藏网页的php后缀名,实现一种Pretty URL。

5e7ed9ea55e2a649b0b48c66f15e9cfc.png

使用nginx的try_files指令轻松搞定。

在你的nginx配置文件(nginx.conf)里加上一句配置:

location / {
	try_files $uri $uri/ $uri.php$is_args$args;
}

就可以实现隐藏网页.php后缀名了。

try_files是nginx中的一个指令,有点类似于rewrite,用于尝试寻找指令后面指定路径的文件或目录并返回。

$uri表示当前请求的URI路径,也就是URL域名后面的路径,不带参数。

$is_args表示如果请求的URL中带有参数,则$is_args代表的是“?”,如果请求的URL中没有参数则返回空字符串,用于传参用。

$args表示请求URL中的完整的参数。

下面根据图示例子来解读下nginx服务器是如何处理的:

情形1:

假设用户访问的URL是:yuanhuaixuetang.com/about

50d709b0c4885dea5449c8944cece1d0.png

nginx的解析过程如下:

该URL没有传参数,$uri 是 /about,$is_args为空,$args也为空

  1. nginx服务器会先去尝试寻找about文件(相对于网站根目录),如果存在则返回该文件
  2. 如果about文件不存在,则尝试寻找about/目录(相对于网站根目录),如果存在则返回。
  3. 如果about/目录不存在,则尝试寻找about.php文件(相对于网站根目录),如果存在则返回该文件并根据请求信息带上后面的请求参数,该例子中实际返回的是about.php,因为原始请求不带参数,所以实际返回的也不带参数。
  4. 如果上面的都找不到,可以根据nginx里的配置返回相应的错误信息。

情形2:

假设用户访问的URL是:yuanhuaixuetang.com/about?id=12

9f3b7238d8b6f75ea933607046d9eed1.png

nginx的解析过程如下:

该URL有传参数,$uri 是 /about,$is_args为“?”,$args为id=12

解析过程同上,不再细述,该情形最终实际返回给用户的是:访问域名 + about.php?id=12这个URL。

有没有GET到这一招,觉得有用就收藏、转发吧,记得关注「远怀学堂」,不断有好的教程发布哦。

好的,我知道你的问题了。针对你的问题,我可以给你一些简单部署步骤: 1.安装nginxPHPCentOS 6.8中安装nginxPHP的方式如下: ``` sudo yum install nginx sudo yum install php-fpm ``` 2.配置nginx配置nginx之前,你需要备份一下默认的nginx配置文件。备份命令如下: ``` sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak ``` 然后,你可以通过编辑/etc/nginx/nginx.conf文件来配置nginx。 下面是一个简单nginx配置示例,可以将它添加到/etc/nginx/nginx.conf文件中: ``` user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } ``` 在这个示例配置中,我们将nginx的根目录设置为/usr/share/nginx/html,并且将index.php添加到默认文档列表中。同时,我们还配置了一个location块,用于处理PHP文件。 3.配置PHP配置PHP之前,你需要备份一下默认的php-fpm配置文件。备份命令如下: ``` sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak ``` 然后,你可以通过编辑/etc/php-fpm.d/www.conf文件来配置PHP。 下面是一个简单PHP配置示例,可以将它添加到/etc/php-fpm.d/www.conf文件中: ``` [www] user = nginx group = nginx listen = /var/run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 ``` 在这个示例配置中,我们将PHP-FPM的用户和组设置为nginx,并将PHP-FPM的监听套接字设置为/var/run/php-fpm/php-fpm.sock。 4.重启服务 完成配置后,你需要重启nginxphp-fpm服务,以使配置生效。重启命令如下: ``` sudo systemctl restart nginx sudo systemctl restart php-fpm ``` 到这里,就完成了nginx+PHP简单部署。同时,为了进一步提升性能,你可以使用Nginx+PHP+FastCGI加速模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值