Linux下多个ip访问PHP项目环境配置

在Linux环境下,配置PHP项目以支持多个IP访问。通过修改nginx.conf的关键配置,实现IP绑定。当出现404错误时,需要进一步编辑fastcgi.conf文件,调整open_basedir路径,然后重启nginx服务即可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  之前在Linux上搭建PHP项目环境访问项目使用域名配置的,但是多个IP怎么绑定项目呢我就直接贴nginx.conf关键代码了哟

如下:

 

user  www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        #limit_conn_zone $binary_remote_addr zone=perip:10m;
        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

        server_tokens off;
        access_log off;


server  默认端口80访问    http://192.169.1.109/admin
    {
        listen 80 default_server;
        #listen [::]:80 default_server ipv6only=on;
        server_name _;
        index index.html index.htm index.php;
        set $root  /home/wwwroot/default/test1/public;    这里指向项目地址
        root $root;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf; 

        location ~ \.php($|/) {
        root           $root;  
                fastcgi_pass   127.0.0.1:9000;  
                fastcgi_index  index.php;  
                fastcgi_split_path_info ^(.+\.php)(.*)$;  
                fastcgi_param   PATH_INFO $fastcgi_path_info;  
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  
                include        fastcgi_params;  
        }
        location / {
        index  index.html index.htm index.php;
            #autoindex  on;
            
          if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
          }
        }
        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
    expires      30d;
        }

        location ~ .*\.(js|css)?$
    {
    expires      12h;
        }

        location ~ /.well-known {
        allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }
    server   再添加一个server   ip地址加上端口访问  如http://192.169.1.109:91/Admin/Public/login
    {
        listen 91 default_server;    开放91端口
        #listen [::]:80 default_server ipv6only=on;
        server_name _;
        index index.html index.htm index.php;
        set $root  /home/wwwroot/default/tp5b/public;
        root $root;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf; 

        location ~ \.php($|/) {
        root           $root;  
                fastcgi_pass   127.0.0.1:9000;  
                fastcgi_index  index.php;  
                fastcgi_split_path_info ^(.+\.php)(.*)$;  
                fastcgi_param   PATH_INFO $fastcgi_path_info;  
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  
                include        fastcgi_params;  
        }
        location / {
        index  index.html index.htm index.php;
            #autoindex  on;
            
          if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
          }
        }
        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
    expires      30d;
        }

        location ~ .*\.(js|css)?$
    {
    expires      12h;
        }

        location ~ /.well-known {
        allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }
include vhost/*.conf;
}

然后项目访问可能要报错404,是不是很奇怪明明项目访问路径是对的配置也指定正确路径的nginx服务PHP服务也重启了怎么还是报错,哈哈还需要修改一个文件配置,找到  usr/local/nginx/conf/fastcgi.conf 文件进入编辑指定open_basedir的路径呢如下:

fastcgi_param REDIRECT_STATUS 200;


fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/default/:/tmp/:/proc/";


最后再重启nginx服务 service nginx restart就可以成功的访问了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值