1.yum下载的配置文件

  1. 配置文件分析
  2. # nginx运行的用户名
  3. user nginx;
  4. # nginx启动进程,通常设置成和cpu的数量相等,这里为自动
  5. worker_processes auto;
  6. # errorlog文件位置
  7. error_log /var/log/nginx/error.log;
  8. # pid文件地址,记录了nginx的pid,方便进程管理
  9. pid /run/nginx.pid;
  10. # Load dynamic modules. See /usr/share/nginx/README.dynamic.
  11. # 用来加载其他动态模块的配置
  12. include /usr/share/nginx/modules/*.conf;
  13. # 工作模式和连接数上限
  14. events {
  15. # 每个worker_processes的最大并发链接数
  16. # 并发总数:worker_processes*worker_connections
  17. worker_connections 1024;
  18. }
  19. ttp {
  20. # 设置日志的格式
  21. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  22. '$status $body_bytes_sent "$http_referer" '
  23. '"$http_user_agent" "$http_x_forwarded_for"';
  24. # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
  25. access_log /var/log/nginx/access.log main;
  26. # 这部分下面会单独解释
  27. # 设置nginx是否使用sendfile函数输出文件
  28. sendfile on;
  29. # 数据包最大时发包(使用Nagle算法)
  30. tcp_nopush on;
  31. # 立刻发送数据包(禁用Nagle算法)
  32. tcp_nodelay on;
  33. # 链接超时时间
  34. keepalive_timeout 65;
  35. # 这个我也不清楚...
  36. types_hash_max_size 2048;
  37. # 引入文件扩展名与文件类型映射表
  38. include /etc/nginx/mime.types;
  39. # 默认文件类型
  40. default_type application/octet-stream;
  41. # Load modular configuration files from the /etc/nginx/conf.d directory.
  42. # See http://nginx.org/en/docs/ngx_core_module.html#include
  43. # for more information.
  44. include /etc/nginx/conf.d/*.conf;
  45. # http服务上支持若干虚拟主机。
  46. # 每个虚拟主机一个对应的server配置项
  47. # 配置项里面包含该虚拟主机相关的配置。
  48. server {
  49. # 端口
  50. listen 80 default_server;
  51. listen [::]:80 default_server;
  52. # 访问的域名
  53. server_name _;
  54. # 默认网站根目录(www目录)
  55. root /usr/share/nginx/html;
  56. # Load configuration files for the default server block.
  57. include /etc/nginx/default.d/*.conf;
  58. # 默认请求
  59. location / {
  60. }
  61. # 错误页(404)
  62. error_page 404 /404.html;
  63. location = /40x.html {
  64. }
  65. # 错误页(50X)
  66. error_page 500 502 503 504 /50x.html;
  67. location = /50x.html {
  68. }
  69. }
  70. }

添加PHP只需修改server部分

  1. server {
  2. listen 80 default_server;
  3. listen [::]:80 default_server;
  4. # 这里改动了,也可以写你的域名
  5. server_name 192.168.17.26;
  6. # 默认网站根目录(www目录)
  7. root /var/www/;
  8. # Load configuration files for the default server block.
  9. include /etc/nginx/default.d/*.conf;
  10. location / {
  11. # 这里改动了 定义首页索引文件的名称
  12. index index.php index.html index.htm;
  13. }
  14. error_page 404 /404.html;
  15. location = /40x.html {
  16. }
  17. error_page 500 502 503 504 /50x.html;
  18. location = /50x.html {
  19. }
  20. # 这里新加的
  21. # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
  22. # Fastcgi服务器和程序(PHP,Python)沟通的协议.
  23. location ~ \.php?.*$ { #nginx+PHP时添加以下几行
  24. root /share/test;
  25. fastcgi_pass 127.0.0.1:9000;
  26. fastcgi_index index.php;
  27. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  28. include fastcgi_params;
  29. }
  30. }

1、第一个大括号 server{ }:不必多说,代表一个独立的server,
2、listen 8011:代表该server监听8011端口
3、location ~ .php?.*${ }:代表一个能匹配对应uri的location,用于匹配一类uri,并对所匹配的uri请求做自定义的逻辑、配置。这里的location,匹配了所有带.php的uri请求,例如:http://192.168.244.128:8011/test.php/asdasd http://192.168.244.128:8011/index.php等
4、root /share/test:请求资源根目录,告诉匹配到该location下的uri到/share/teset文件夹下去寻找同名资源。
5、fastcgi_pass 127.0.0.1:9000:这行开始是本文的重点:这行代码的意思是,将进入到该location内的uri请求看做是cgi程序,并将请求发送到9000端口,交由php-fpm处理。
6、fastcgi_param SCRIPT_FILENAME fastcgi_script_name; :这行配置意思是:动态添加了一行fastcgi配置,配置内容为SCRIPT_FILENAME,告知管理进程,cgi脚本名称。由于我的nginx中只有fastcgi_params文件,没有fastcgi.conf文件,所以要使php-fpm知道SCRIPT_FILENAME的具体值,就必须要动态的添加这行配置。
7、include fastcgi_params; 引入fastcgi配置文件
以上就是最简洁版的nginx启动php脚本的最简配置,当重启nginx之后,在/share/test目录下创建一个xx.php文件,输入<?php echo “hello world”; ?>保存,然后在浏览器中访问localhost:8011/xx.php 就可以在网页上显示hello world了。