利用不同端口为本地nginx服务器配置多个站点

首先找到nginx的配置文件nginx.conf

[root@localhost nginx]# vi nginx.conf

打开配置文件后找到类似下面一段:

include /etc/nginx/conf.d/*.conf;

没有的就加上,这是我的路径,你们的看实际情况改改,确保路径存在

加入这段的意思实际是把conf.d目录的以.conf结尾的配置文件都加载进来,修改后保存nginx.conf文件

然后进入conf.d目录

[root@localhost nginx]# cd /etc/nginx/conf.d/


然后把目录下面的文件都列出来:
[root@localhost conf.d]# ll
默认的话,目录下面有个default.conf文件

打开default.conf文件后如下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    access_log  /var/log/nginx/access.log  main;

    root        /var/www/baidu;
    index       index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }

    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   /var/www;
    }

    # 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($|/) {
        try_files $uri =404;
        #rewrite ^/index.php/(.*)$  /$1 last;
        fastcgi_pass unix:/var/www/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_intercept_errors on;
        fastcgi_ignore_client_abort off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_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 {
    #    deny  all;
    #}
}

如果把上面的配置作为本地配置一个百度网站的设置,那么其访问的端口为默认80端口,访问地址就是:http://localhost/

如果我们想用81端口配置为本地的另外一个网站的访问入口,应该怎么配置呢?

首先你需要在conf.d目录下创建一个以.conf结尾的文件,比如:google.com.conf文件,或者直接copy一个default.conf文件也可以,具体配置如下:


server {
    listen       81;
    server_name  localhost;

    #charset koi8-r;
    access_log  /var/log/nginx/access.log  main;

    root        /var/www/google;
    index       index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }

    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   /var/www;
    }

    # 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($|/) {
        try_files $uri =404;
        #rewrite ^/index.php/(.*)$  /$1 last;
        fastcgi_pass unix:/var/www/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_intercept_errors on;
        fastcgi_ignore_client_abort off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_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 {
    #    deny  all;
    #}
}

保存后,重启nginx服务器

访问:http://localhost:81看看是否成功吧。

注意:配置里面的目录文件一定要存在,不然无法启动nginx。


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Nginx一个流行的Web服务器以及反向代理框架,它具有高性能、稳定性和可扩展性等优点。在使用Nginx时,我们可能会需要在同一台服务器上运行多个站点,这时候就需要用到多站点共用80端口配置。 首先,我们需要在Nginx配置文件中指定各自站点的位置,比如可以用类似下面的方式指定两个站点的位置: ```nginx server { listen 80; server_name site1.com; root /var/www/site1.com/; index index.html; } server { listen 80; server_name site2.com; root /var/www/site2.com/; index index.html; } ``` 在以上的配置中,我们分别指定了两个站点的名称、根目录位置和默认文档,同时将监听端口设置为80以确保多个站点可以共用同一个端口。 接着,我们需要将各自站点的请求进行转发。这时候我们可以使用Nginx的location指令来指定转发规则,比如下面的例子中我们将所有以/site1开头的请求都转发到site1站点的根目录下: ```nginx location /site1 { proxy_pass http://site1.com/; } ``` 类似地,我们也可以为site2站点指定请求的转发规则。这样,当用户访问site1.com/site1或者site2.com/site2时,Nginx会按照预设规则进行请求转发,从而保证了多个站点可以共用80端口的访问请求。 总结起来,在Nginx配置多个站点共用80端口时,我们需要首先指定各自站点的位置和监听端口,然后通过location指令来指定请求的转发规则。这样,我们就可以使得多个站点在同一台服务器上运行,且共用同一个80端口的访问请求。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值