VPS侦探论坛

 找回密码
 注册
查看: 7165|回复: 11

LNMPA端口更改问题,急急急

[复制链接]
发表于 2015-6-19 15:35:30 | 显示全部楼层 |阅读模式

LNMPA虚拟机端口改成8089,已经在nginx中更改如图:


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

军哥求教啊
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2015-6-19 15:37:30 | 显示全部楼层


图没贴上~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2015-6-19 21:22:35 | 显示全部楼层

你先说你想要干什么吧
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2015-6-20 17:43:18 | 显示全部楼层



我配置了一个phpmyadmin,配置一个生僻端口8089,我想只有8089端口可以访问虚拟机,别的端口都不行。我修改ng配置之后,80和8089端口都可以访问,没达到我的需求
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 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.log  access;
    }

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.log  access;
    }

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.log  access;
    }

重启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端口可以访问

军哥运维代购:http://shop63846532.taobao.com/

发表于 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
 楼主| 发表于 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端口可以访问


军哥辛苦~
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2015-6-23 15:46:10 | 显示全部楼层

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

apache的虚拟主机可以都listen到127.0.0.1上就不用iptables了
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 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端口可以访问

再次感谢军哥
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2015-6-23 21:17:47 | 显示全部楼层



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

2 修改apache所有配置的listen就行了
发表于 2016-10-12 22:37:21 | 显示全部楼层

回复 10# 的帖子


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

回复 11# 的帖子


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

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

贴配置文件看看

如果是1.3安装之前修改lnmp.conf 就可以自定义路径
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-11-16 20:56 , Processed in 0.030426 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表