【问题标题】:Installing Varnish on port 8080 breaks local environment在端口 8080 上安装 Varnish 会破坏本地环境
【发布时间】:2019-03-17 15:33:38
【问题描述】:

我在本地环境中安装 Varnish 时遇到问题,我在使用 ubuntu 和 apache 2,我需要为 Magento 2 安装它,所以我按照本教程进行操作,https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-varnish-with-apache-on-ubuntu-12-04--3

第二步

问题是它提到从80到8080,为什么我不能保留80?

因为当我转到 localhost/folder/folder2 时会中断,但是如果我添加 localhost:8080/folder/folder2 则它可以工作

我知道 localhost:80 只需键入 localhost 即可工作,但为此更改我的系统真的很烦人。我将分享我拥有的文件(无需修改清漆):

sudo nano /etc/apache2/ports.conf

我想把“听 80”改成“听 8080”

> # If you just change the port or add more ports here, you will likely also
> # have to change the VirtualHost statement in
> # /etc/apache2/sites-enabled/000-default.conf
> 
> Listen 80
> 
> <IfModule ssl_module>     Listen 443 </IfModule>
> 
> <IfModule mod_gnutls.c>   Listen 443 </IfModule>
> 
> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

sudo nano /etc/apache2/sites-available/default

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    <Directory /var/www/html>
        Options FollowSymLinks
        AllowOverride all
        Require all granted
     </Directory>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "/var/www/html/lsapp/public"
    ServerName lsapp.dev
    <Directory /var/www/html/lsapp/public/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
        </Directory>
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

【问题讨论】:

    标签: linux apache ubuntu magento2 varnish


    【解决方案1】:

    因为这就是清漆的工作原理。它缓存来自后端服务器的内容,因此它必须侦听端口 80。它是第一层。您的后端将侦听任何其他端口。在您的情况下,正在监听 8080 的是 apache。

    在您的情况下,如果您在端口 80 中启动 apache,那么您将直接访问 apache,而无需在 Varnish 中缓存任何内容。

    【讨论】:

    • 我如何知道我的 apache2 在哪个端口上?我认为它是 80,因为 /etc/apache2/sites-available/default 在任何情况下,我都必须将我的 apache2 更改为侦听列表到 8080,并且在调试站点时始终添加 localhost:8080/文件夹 1/文件夹 2 ?
    • 你可以使用“netstat -ntlp”来检查监听的tcp端口
    • 如果你把 Varnish 放在前面的 80 端口和 apache 放在后端的 8080 端口上,那么假设 Varnish 配置正确,你将能够使用localhost/folder/folder2 访问该站点
    • 我用过这个教程 -> websiteforstudents.com/… 我还是不能访问这个网站,它说“这个网站无法访问”
    • 好吧,我得到“无法访问此站点”,因为在 /etc/apache2/sites-available/000-default.conf 他们说将所有内容更改为 ,我的默认是 所以我把它改成了 ,所以如果我做 localhost:8080/folder/folder2 网站会加载但css都是一团糟,如果我访问喜欢localhost/folder/folder2 将得到与“无法访问此站点”之前相同的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2019-10-08
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多