Apache 已安装,主要用于提供 Django/Python 内容。我想安装 nginx 来提供静态内容。怎么做,什么是好的配置。
我在 Ubuntu 上,Apache 是通过 apt-get 安装的。
第一个选项:你的IP地址很少吗?将 apache 绑定到其中一个,将 nginx 绑定到另一个。
在 Debian 世界
对于 /etc/apache2/ports.conf 中的 apache 包括:
Listen 1.1.2.3:80
Run Code Online (Sandbox Code Playgroud)
在 /etc/apache2/sites-enabled 中的 vhost 文件中更改:
NameVirtualHost 1.1.2.3:80;
<VirtualHost 1.1.2.3:80>
..
<VirtualHost/>
Run Code Online (Sandbox Code Playgroud)
对于 /etc/nginx/sites-enabled/ 中的 nginx 添加:
listen 1.1.2.4:80
Run Code Online (Sandbox Code Playgroud)第二个选项:移动 apache 以侦听不同的端口 [文件,如上所述。例如,告诉 apache 监听 127.0.0.1:8080 ] 并指示 nginx 在由 nginx 提供 /static/ 服务时将动态流量反向代理到您的 apache - 例如:
server {
listen 1.1.2.3:80;
server_name some.name another.dname;
access_log /var/log/nginx/something-access.log;
location / {
proxy_pass http://localhost:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^.+\.(jpg|js|jpeg|png)$ {
root /some/where/on/your/disks;
}
; put your static hosting config here.
}
Run Code Online (Sandbox Code Playgroud)顺便说一句 - 考虑将静态内容放在另一个域上。这应该会稍微提高最终用户的速度。
归档时间: |
|
查看次数: |
12139 次 |
最近记录: |