xiaohahawt 发表于 2015-6-19 15:35:30

LNMPA端口更改问题,急急急

LNMPA虚拟机端口改成8089,已经在nginx中更改如图:
data:image/png;base64,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

在浏览器中输入 xxx.xxxx.com和 xxx.xxxx.com:8089 显示的都是 /home/wwwroot/xxx 中的内容。

军哥求教啊

xiaohahawt 发表于 2015-6-19 15:37:30

图没贴上~

licess 发表于 2015-6-19 21:22:35

你先说你想要干什么吧

xiaohahawt 发表于 2015-6-20 17:43:18

我配置了一个phpmyadmin,配置一个生僻端口8089,我想只有8089端口可以访问虚拟机,别的端口都不行。我修改ng配置之后,80和8089端口都可以访问,没达到我的需求

xiaohahawt 发表于 2015-6-20 21:51:32

刚才看别人的帖子实验了下。
如下:
目前我有三个站点,
site1.xxx.com                  要求: 只有80端口可以访问
site2.xxx.com:8089       要求 :只有8089端口可以访问
site3.xxx.com:8088       要求:只有8089端口可以访问

httpd.conf
加入 Listen 127.0.0.1:8888

vhost/site1.xxx.com .conf

<VirtualHost *:88>
ServerAdmin webmaster@example.com
php_admin_value open_basedir "/home/wwwroot/site1:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/site1"
ServerNamesite1.xxx.com
ErrorLog "/home/wwwlogs/site1.xxx.com -error_log"
CustomLog "/home/wwwlogs/site1.xxx.com -access_log" common
<Directory "/home/wwwroot/site1">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>
</VirtualHost>

vhost/site2.xxx.com.conf

<VirtualHost *:8888>
ServerAdmin webmaster@example.com
php_admin_value open_basedir "/home/wwwroot/site2:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/site2"
ServerName site2.xxx.com
ErrorLog "/home/wwwlogs/site2.xxx.com -error_log"
CustomLog "/home/wwwlogs/site2.xxx.com -access_log" common
<Directory "/home/wwwroot/site2">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>
</VirtualHost>

vhost/site3.xxx.com.conf

<VirtualHost *:8888>
ServerAdmin webmaster@example.com
php_admin_value open_basedir "/home/wwwroot/site3:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/site3"
ServerName site3.xxx.com
ErrorLog "/home/wwwlogs/site3.xxx.com -error_log"
CustomLog "/home/wwwlogs/site3.xxx.com -access_log" common
<Directory "/home/wwwroot/site3">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>
</VirtualHost>


nginx配置

vhost/site1.xxx.com.conf

server
    {
      listen 80;
      #listen [::]:80;
      server_name site1.xxx.com;
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/site1;

      location /
      {
            try_files $uri @apache;
      }

      location @apache
      {
            internal;
            proxy_pass http://127.0.0.1:88;
            include proxy.conf;
      }

      location ~ [^/]\.php(/|$)
      {
            proxy_pass http://127.0.0.1:88;
            include proxy.conf;
      }

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

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

      access_log/home/wwwlogs/site1.xxx.com.logaccess;
    }

vhost/site2.xxx.com.conf

server
    {
      listen 8089;
      #listen [::]:80;
      server_name site2.xxx.com;
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/site2;

      location /
      {
            try_files $uri @apache;
      }

      location @apache
      {
            internal;
            proxy_pass http://127.0.0.1:8888;
            include proxy.conf;
      }

      location ~ [^/]\.php(/|$)
      {
            proxy_pass http://127.0.0.1:8888;
            include proxy.conf;
      }

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

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

      access_log/home/wwwlogs/site2.xxx.com.logaccess;
    }

vhost/site3.xxx.com.conf

server
    {
      listen 8088;
      #listen [::]:80;
      server_name site3.xxx.com;
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/site3;

      location /
      {
            try_files $uri @apache;
      }

      location @apache
      {
            internal;
            proxy_pass http://127.0.0.1:8888;
            include proxy.conf;
      }

      location ~ [^/]\.php(/|$)
      {
            proxy_pass http://127.0.0.1:8888;
            include proxy.conf;
      }

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

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

      access_log/home/wwwlogs/site3.xxx.com.logaccess;
    }

重启apache 重启nginx

测试结果:
site1.xxx.com 正常
site1.xxx.com:8088 site1.xxx.com:8089 均显示 site3.xxx.com:8088 内容
site2.xxx.com:8089 site2.xxx.com:8088 均显示site3.xxx.com:8088 内容
site3.xxx.com:8088 site3.xxx.com:8089 均显示 site3.xxx.com:8088 内容

我只想除了指定端口可以访问之外,输入其他端口均显示无法连接
site1.xxx.com                  要求: 只有80端口可以访问
site2.xxx.com:8089       要求 :只有8089端口可以访问
site3.xxx.com:8088       要求:只有8089端口可以访问

licess 发表于 2015-6-22 09:11:36

iptables -I INPUT -p tcp -s 127.0.0.1 --dport 8089 -j ACCEPT
iptables -A INPUT -p tcp --dport 8088 -j DROP

xiaohahawt 发表于 2015-6-23 09:22:30

感谢军哥,问题基本已经解决。但是site.xxx.com:8088 还是显示 site3.xxx.com:8088 站点的内容
但是还有一点不明白,为什么配置apache 8888端口之后,nginx中所有域名输入8089,8088 都变成 site3.xxx.com:8088 站点的内容了。

这样的问题只能用防火墙规则解决吗。
如果我只想除了指定端口可以访问之外,输入其他端口均显示无法连接
site1.xxx.com                  要求: 只有80端口可以访问
site2.xxx.com:8089       要求 :只有8089端口可以访问
site3.xxx.com:8088       要求:只有8088端口可以访问


军哥辛苦~

licess 发表于 2015-6-23 15:46:10

apache会将第一个虚拟主机设为对应的默认虚拟主机

apache的虚拟主机可以都listen到127.0.0.1上就不用iptables了

xiaohahawt 发表于 2015-6-23 17:40:16

军哥:apache会将第一个虚拟主机设为对应的默认虚拟主机
问:那为什么我site.xxx.com:8088 和 site.xxx.com:8089 都显示的是 site3.xxx.com:8088的内容啊。我site.xxx.com ng的配置是向apache的88端口转发的。

军哥:apache的虚拟主机可以都listen到127.0.0.1上就不用iptables了
问:您的意思是 在http.conf 中加入新的端口吗。一个ng端口对应一个apache端口。
比如ng中 site2.xxx.com:8089用apache的 89端口
          ng中 site3.xxx.com:8088 用apache的 90端口转发(假设端口没被占用)

这样 site.xxx.com:8089 和 site.xxx.com:8088 就不显示别的网站了吗

这样就可以实现除了指定端口可以访问之外,输入其他端口均显示无法连接
site1.xxx.com                  要求: 只有80端口可以访问
site2.xxx.com:8089       要求 :只有8089端口可以访问
site3.xxx.com:8088       要求:只有8088端口可以访问

再次感谢军哥

licess 发表于 2015-6-23 21:17:47

1 没显示对应的虚拟主机可能配置有问题或其他原因未生效

2 修改apache所有配置的listen就行了

xiangyudashu 发表于 2016-10-12 22:37:21

回复 10# 的帖子

军哥,我再有个问题想请教一下,同样和题主一样是lanmp环境。
问题就是,正常安装lanmp完毕后,使用vps的ip访问,正常打开lnmp安装成功欢迎页,现在我想访问ip的时候,定位到我自定义的一个新的目录,而非默认的default文件夹,nginx.conf已经修改好,静态文件也都访问正常,但是apache里的httpd-vhosts.conf 里面定义的文件路径一修改到自定义的文件夹就会出现打开php是一片空白的情况。不知道描述的是否清楚,望军哥忙里抽闲帮助回答一下哈~非常感谢

licess 发表于 2016-10-13 09:41:56

回复 11# 的帖子

信息有限
开phpinfo.php 空白?
修改php.ini

display_errors = Off
display_startup_errors = Off
修改为On
重启apache 访问时看看什么错误信息

贴配置文件看看

如果是1.3安装之前修改lnmp.conf 就可以自定义路径
页: [1]
查看完整版本: LNMPA端口更改问题,急急急