当前位置:首页 > PHP教程 > php环境安装 > 列表

nginx简单配置多个php服务实例教程

发布:smiling 来源: PHP粉丝网  添加日期:2023-06-24 18:22:48 浏览: 评论:0 

大部分网站开发语言都要运行在服务器,比如主流的nginx、apache等等,部署服务器环境对于大部分人来说是比较陌生和复杂的,其实搞懂了之后是很简单易用的。今天就记录下部署php+nginx。

系统:mac、linux

1、安装好php和nginx程序,并运行。

2、找到nginx.conf文件,默认在/etc/nginx目录下,如果找不到用一下命令查询

sudo find / -name nginx.conf

3、修改nginx.conf文件

默认的nginx.conf配置

  1. #user  nobody; 
  2. worker_processes  1; 
  3.  
  4. #error_log  logs/error.log; 
  5. #error_log  logs/error.log  notice; 
  6. #error_log  logs/error.log  info; 
  7.  
  8. #pid        logs/nginx.pid; 
  9.  
  10.  
  11. events { 
  12.     worker_connections  1024; 
  13.  
  14.  
  15. http { 
  16.     include       mime.types; 
  17.     default_type  application/octet-stream; 
  18.  
  19.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
  20.     #                  '$status $body_bytes_sent "$http_referer" ' 
  21.     #                  '"$http_user_agent" "$http_x_forwarded_for"'
  22.  
  23.     #access_log  logs/access.log  main; 
  24.  
  25.     sendfile        on; 
  26.     #tcp_nopush     on; 
  27.  
  28.     #keepalive_timeout  0; 
  29.     keepalive_timeout  65; 
  30.  
  31.     #gzip  on; 
  32.  
  33.     server { 
  34.         listen       80; 
  35.         server_name  localhost; 
  36.  
  37.         #charset koi8-r; 
  38.  
  39.         #access_log  logs/host.access.log  main; 
  40.  
  41.         location / { 
  42.             root   html; 
  43.             index  index.html index.htm; 
  44.         } 
  45.  
  46.         #error_page  404              /404.html; 
  47.  
  48.         # redirect server error pages to the static page /50x.html 
  49.         # 
  50.         error_page   500 502 503 504  /50x.html; 
  51.         location = /50x.html { 
  52.             root   html; 
  53.         } 
  54.  
  55.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80 
  56.         # 
  57.         #location ~ \.php$ { 
  58.         #    proxy_pass   http://127.0.0.1; 
  59.         #} 
  60.  
  61.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
  62.         # 
  63.         #location ~ \.php$ { 
  64.         #    root           html; 
  65.         #    fastcgi_pass   127.0.0.1:9000; 
  66.         #    fastcgi_index  index.php; 
  67.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name
  68.         #    include        fastcgi_params; 
  69.         #} 
  70.  
  71.         # deny access to .htaccess files, if Apache's document root 
  72.         # concurs with nginx's one 
  73.         # 
  74.         #location ~ /\.ht { 
  75.         #    deny  all; 
  76.         #} 
  77.     } 
  78.  
  79.  
  80.     # another virtual host using mix of IP-, name-, and port-based configuration 
  81.     # 
  82.     #server { 
  83.     #    listen       8000; 
  84.     #    listen       somename:8080; 
  85.     #    server_name  somename  alias  another.alias; 
  86.  
  87.     #    location / { 
  88.     #        root   html; 
  89.     #        index  index.html index.htm; 
  90.     #    } 
  91.     #} 
  92.  
  93.  
  94.     # HTTPS server 
  95.     # 
  96.     #server { 
  97.     #    listen       443 ssl; 
  98.     #    server_name  localhost; 
  99.  
  100.     #    ssl_certificate      cert.pem; 
  101.     #    ssl_certificate_key  cert.key; 
  102.  
  103.     #    ssl_session_cache    shared:SSL:1m; 
  104.     #    ssl_session_timeout  5m; 
  105.  
  106.     #    ssl_ciphers  HIGH:!aNULL:!MD5; 
  107.     #    ssl_prefer_server_ciphers  on; 
  108.  
  109.     #    location / { 
  110.     #        root   html; 
  111.     #        index  index.html index.htm; 
  112.     #    } 
  113.     #} 
  114.     include servers/*; 

把server下的这段#号去掉并修改即可,将 PHP 脚本传递给在 127.0.0.1:9000 上侦听的 FastCGI 服务器。

  1. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
  2. location ~ \.php$ { 
  3.     fastcgi_pass   127.0.0.1:9000; 
  4.     fastcgi_index  index.php; 
  5.     fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
  6.     include        fastcgi_params; 

访问 localhost

参数参考:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;#脚本文件请求的路径

fastcgi_param  QUERY_STRING       $query_string; #请求的参数;如?app=123

fastcgi_param  REQUEST_METHOD     $request_method; #请求的动作(GET,POST)

fastcgi_param  CONTENT_TYPE       $content_type; #请求头中的Content-Type字段

fastcgi_param  CONTENT_LENGTH     $content_length; #请求头中的Content-length字段。

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name; #脚本名称

fastcgi_param  REQUEST_URI        $request_uri; #请求的地址不带参数

fastcgi_param  DOCUMENT_URI       $document_uri; #与$uri相同。

fastcgi_param  DOCUMENT_ROOT      $document_root; #网站的根目录。在server配置中root指令中指定的值

fastcgi_param  SERVER_PROTOCOL    $server_protocol; #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;#cgi 版本

fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;#nginx 版本号,可修改、隐藏

fastcgi_param  REMOTE_ADDR        $remote_addr; #客户端IP

fastcgi_param  REMOTE_PORT        $remote_port; #客户端端口

fastcgi_param  SERVER_ADDR        $server_addr; #服务器IP地址

fastcgi_param  SERVER_PORT        $server_port; #服务器端口

fastcgi_param  SERVER_NAME        $server_name; #服务器名,域名在server配置中指定的server_name

配置多个服务:

nginx.conf文件有一行

include servers/*;

代表会读取servers文件夹下的所有配置文件,没有可以自己加上,并创建文件夹,servers文件夹下创建一个站点配置文件site1.conf。

  1. server { 
  2.     listen       80;#端口 
  3.     server_name  site1.com;#你的站点域名/ip 
  4.     root         /data/site1/public; #你的站点目录,绝对路径即可 
  5.     index index.php index.html index.htm; 
  6.  
  7.     #charset koi8-r; 
  8.     #access_log  logs/host.access.log  main; 
  9.     location / { 
  10.         try_files $uri $uri/ /index.php?$query_string
  11.     } 
  12.     error_page   500 502 503 504  /50x.html; 
  13.     location = /50x.html { 
  14.         root   html; 
  15.     } 
  16.     location ~ \.php$ { 
  17.         fastcgi_pass   127.0.0.1:9000; 
  18.         fastcgi_index  index.php; 
  19.         fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name
  20.         include        fastcgi_params; 
  21.     } 
  22. }

Tags: nginx配置 nginx+php服务

分享到: