专栏首页飞雪无情的博客使用Nginx搭建PHP服务器

使用Nginx搭建PHP服务器

一般我们都是采用Apache 作为PHP的解析服务器,这次则是采用Nginx这个强大的反向代理服务器来搭建PHP服务器。下面就以Linux发行版Ubuntu为例搭建一个Nginx的PHP服务器。

首先下载安装Nginx

sudo apt-get install nginx

安装完成后,启动Nginx

sudo /etc/init.d/nginx start

这时候打开浏览器里输入http://localhost/就可以看到Welcome to nginx!的页面了,说明我们的Nginx服务器安装成功

接下来安装PHP5

    sudo apt-get install php5-fpm

安装成功后,我们要修改Nginx的虚拟机配置,让浏览器请求的php文件可以被php cgi解析。编辑Nginx虚拟机配置文件/etc/nginx/sites-available/default

    sudo vim /etc/nginx/sites-available/default

然后把里面的配置修改为如下配置内容:

# You may add here your
# server {
#	...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
	listen   80; ## listen for ipv4; this line is default and implied
	#listen   [::]:80 default ipv6only=on; ## listen for ipv6

	root /usr/share/nginx/www;
	index index.html index.htm index.php;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to index.html
		try_files $uri $uri/ /index.html;
		# Uncomment to enable naxsi on this location
		# include /etc/nginx/naxsi.rules
	}

	location /doc/ {
		alias /usr/share/doc/;
		autoindex on;
		allow 127.0.0.1;
		deny all;
	}

	# Only for nginx-naxsi : process denied requests
	#location /RequestDenied {
		# For example, return an error code
		#return 418;
	# }

	error_page 404 /404.html;

	# redirect server error pages to the static page /50x.html
	#
	error_page 500 502 503 504 /50x.html;
	location = /50x.html {
		root /usr/share/nginx/www;
	}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

		# With php5-cgi alone:
		fastcgi_pass 127.0.0.1:9000;
		# With php5-fpm:
		#fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	location ~ /\.ht {
		deny all;
	}
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#	listen 8000;
#	listen somename:8080;
#	server_name somename alias another.alias;
#	root html;
#	index index.html index.htm;
#
#	location / {
#		try_files $uri $uri/ /index.html;
#	}
# }

# HTTPS server
#
#server {
#	listen 443;
#	server_name localhost;
#
#	root html;
#	index index.html index.htm;
#
#	ssl on;
#	ssl_certificate cert.pem;
#	ssl_certificate_key cert.key;
#
#	ssl_session_timeout 5m;
#
#	ssl_protocols SSLv3 TLSv1;
#	ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
#	ssl_prefer_server_ciphers on;
#
#	location / {
#		try_files $uri $uri/ /index.html;
#	}
# }

重新加载我们刚刚更改的Nginx配置

sudo /etc/init.d/nginx reload

然后我们在/usr/share/nginx/www/目录下新建一个phpinfo.php文件,可以查看php的配置和环境信息

sudo vim /usr/share/nginx/www/phpinfo.php

在phpinfo.php中录入如下内容:

    <?php
      phpinfo();
    ?>

我们在浏览器里输入http://localhost/phpinfo.php就可以看到PHP的信息页了,有版本等信息。

PHP5还有很多支持的模块,如果需要的话可以选择安装,一般这些模块都是php5-开头,比如php5-mysql,在Ubuntu里安装他只需

sudo apt-get install php5-mysql

PHP的模块安装后别忘记重启PHP5哦,执行如下命令可以重启

sudo /etc/init.d/php5-fpm restart

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java.lang.UnsupportedOperationException android.view.GLES20Canvas.clipPath

    今天自定义控件使用Canvas绘图的时候遇到的这个错误,看错误的描述,是不支持这个clipPath方法的。而且在2.3的机器上没有问题,是一部4.0的机器报了这...

    飞雪无情
  • Go语言中自动选择json解析库

    golang官方为我们提供了标准的json解析库–encoding/json,大部分情况下,使用它已经够用了。不过这个解析包有个很大的问题–性能。它不够快,如果...

    飞雪无情
  • Go语言实战笔记(五)| Go 切片

    切片也是一种数据结构,它和数组非常相似,因为他是围绕动态数组的概念设计的,可以按需自动改变大小,使用这种结构,可以更方便的管理和使用数据集合。

    飞雪无情
  • nginx rtmp server搭建

    mkdir nginx wget http://nginx.org/download/nginx-1.12.2.tar.gz tar -zxvf nginx-1...

    _gongluck
  • Nginx 配置

    本文详细介绍了 nginx 常用配置。 修改主配置文件 /etc/nginx/nginx.conf worker_processes auto; http...

    康怀帅
  • ubuntu安装lemp步骤

    章鱼喵
  • 003.Nginx配置解析

    Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织,通常每一个区块以一对大括号{}来表示开始与...

    木二
  • nginx的安装和打点服务器配置

    十里桃花舞丶
  • 使用Nginx防止IP地址被恶意解析

    初始化ECS后会生成一个公网IP,默认访问IP地址自动访问80端口,此时通过ip地址可直接访问启动在80端口的服务。

    Noneplus
  • 如何通过nginx负载均衡跳转https

    这篇文章主要介绍了如何通过nginx负载均衡跳转https的相关资料,需要的朋友可以参考下

    习惯说一说

扫码关注云+社区

领取腾讯云代金券