不愿染是与非 发表于 2023-2-25 21:44:17

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

nginx简单配置php服务(多个)

摘要:

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

系统:mac、linux

1、安装好php和nginx程序,并运行。
2、找到nginx.conf文件,默认在/etc/nginx目录下,如果找不到用一下命令查询
sudo find / -name nginx.conf3、修改nginx.conf文件
默认的nginx.conf配置
#usernobody;
worker_processes1;

#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;

#pid      logs/nginx.pid;


events {
    worker_connections1024;
}


http {
    include       mime.types;
    default_typeapplication/octet-stream;

    #log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_loglogs/access.logmain;

    sendfile      on;
    #tcp_nopush   on;

    #keepalive_timeout0;
    keepalive_timeout65;

    #gzipon;

    server {
      listen       80;
      server_namelocalhost;

      #charset koi8-r;

      #access_loglogs/host.access.logmain;

      location / {
            root   html;
            indexindex.html index.htm;
      }

      #error_page404            /404.html;

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

      # proxy the PHP scripts to Apache listening on 127.0.0.1:80
      #
      #location ~ \.php$ {
      #    proxy_pass   http://127.0.0.1;
      #}

      # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
      #
      #location ~ \.php$ {
      #    root         html;
      #    fastcgi_pass   127.0.0.1:9000;
      #    fastcgi_indexindex.php;
      #    fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
      #    include      fastcgi_params;
      #}

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


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_namesomenamealiasanother.alias;

    #    location / {
    #      root   html;
    #      indexindex.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_namelocalhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_keycert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout5m;

    #    ssl_ciphersHIGH:!aNULL:!MD5;
    #    ssl_prefer_server_cipherson;

    #    location / {
    #      root   html;
    #      indexindex.html index.htm;
    #    }
    #}
    include servers/*;
}把server下的这段#号去掉并修改即可,将 PHP 脚本传递给在 127.0.0.1:9000 上侦听的 FastCGI 服务器
      # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
      #
      location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_indexindex.php;
            fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
            include      fastcgi_params;
      }访问 localhost
参数参考:
fastcgi_paramSCRIPT_FILENAME    $document_root$fastcgi_script_name;#脚本文件请求的路径
fastcgi_paramQUERY_STRING       $query_string; #请求的参数;如?app=123
fastcgi_paramREQUEST_METHOD   $request_method; #请求的动作(GET,POST)
fastcgi_paramCONTENT_TYPE       $content_type; #请求头中的Content-Type字段
fastcgi_paramCONTENT_LENGTH   $content_length; #请求头中的Content-length字段。

fastcgi_paramSCRIPT_NAME      $fastcgi_script_name; #脚本名称
fastcgi_paramREQUEST_URI      $request_uri; #请求的地址不带参数
fastcgi_paramDOCUMENT_URI       $document_uri; #与$uri相同。
fastcgi_paramDOCUMENT_ROOT      $document_root; #网站的根目录。在server配置中root指令中指定的值
fastcgi_paramSERVER_PROTOCOL    $server_protocol; #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。

fastcgi_paramGATEWAY_INTERFACECGI/1.1;#cgi 版本
fastcgi_paramSERVER_SOFTWARE    nginx/$nginx_version;#nginx 版本号,可修改、隐藏

fastcgi_paramREMOTE_ADDR      $remote_addr; #客户端IP
fastcgi_paramREMOTE_PORT      $remote_port; #客户端端口
fastcgi_paramSERVER_ADDR      $server_addr; #服务器IP地址
fastcgi_paramSERVER_PORT      $server_port; #服务器端口
fastcgi_paramSERVER_NAME      $server_name; #服务器名,域名在server配置中指定的server_name
配置多个服务:

nginx.conf文件有一行
include servers/*;代表会读取servers文件夹下的所有配置文件,没有可以自己加上,并创建文件夹,servers文件夹下创建一个站点配置文件site1.conf。
server {
    listen       80;#端口
    server_namesite1.com;#你的站点域名/ip
    root         /data/site1/public; #你的站点目录,绝对路径即可
    index index.php index.html index.htm;

    #charset koi8-r;
    #access_loglogs/host.access.logmain;
    location / {
      try_files $uri $uri/ /index.php?$query_string;
    }
    error_page   500 502 503 504/50x.html;
    location = /50x.html {
      root   html;
    }
    location ~ \.php$ {
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_indexindex.php;
      fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
      include      fastcgi_params;
    }
}
总结

到此这篇关于nginx简单配置多个php服务的文章就介绍到这了,更多相关nginx配置php服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/article/272736.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: nginx简单配置多个php服务实例教程