• Contact
  • Contact Us
  • Disclamer
  • Home 1
  • Home 2
  • Home 3
  • Privacy Policy
Friday, May 9, 2025
How VPS - How to use/setup VPS
  • Login
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
How VPS - How to use/setup VPS
No Result
View All Result
Home Operating System Debian

Setup Nginx Reverse Proxy over Apache on Debian or Ubuntu

How VPS by How VPS
November 1, 2019
in Debian
0
0
SHARES
23
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Requirements
  2. Change Apache listening port
  3. Disable Unuse modules in Apache
  4. Install forward module
  5. Stop Apache service
  6. Setup Nginx
  7. Want to contribute?


Nginx is a lightweight web server that has been proven to serve static files faster than Apache. This tutorial will guide you how to install Nginx as reverse proxy over Apache web server.

Requirements

You have installed Apache on your server. Apache is already running a site on port 80.

Change Apache listening port

Edit /etc/apache2/ports.conf to make Apache listening to port 8080 instead of default port 80.

Find following line:

NameVirtualHost *:80
Listen 80

Change it to:

NameVirtualHost *:8080
Listen 8080

Do not forget to your existing vhost listening port in /etc/apache2/sites-enabled/*

Change:

<VirtualHost *:80>

To:

<VirtualHost *:8080>

Disable Unuse modules in Apache

Since HTTP requests is now handled by Nginx, we can disable KeepAlive in Apache.
Edit /etc/apache2/apache2.conf and change:

KeepAlive Off

Also, run following commands to disable unused modules.

a2dismod deflate
a2dismod cgi
a2dismod autoindex
a2dismod negotiation
a2dismod ssl

Install forward module

Install mod_rpaf in Apache to forward visitor IP to Apache. Otherwise, your scripts will read REMOTE_ADDR values as server IP.

apt-get install libapache2-mod-rpaf

Stop Apache service

/etc/init.d/apache2 restart

Setup Nginx

Install Nginx.

apt-get install nginx

Remove default vhost to prevent conflicts.

rm -rf /etc/nginx/sites-enabled/*

Create a new default vhost:

cat >/etc/nginx/sites-available/000-default <<EOF
server {
    access_log off;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8080;
    }
}
EOF

ln -s /etc/nginx/sites-available/000-default /etc/nginx/sites-enabled/000-default

Create vhost for existing website to forward request to Apache:

cat >/etc/nginx/sites-available/domain.com <<EOF
server {
    server_name www.domain.com domain.com;
    root /var/www/domain.com/;

    access_log off;

    # Static contents
    location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
        expires max;
    }

    # Dynamic content, forward to Apache
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8080;
    }
}
EOF

ln -s /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled/domain.com

Restart Nginx and it’s done.

/etc/init.d/nginx restart

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article
Previous Post

How to Install BoltWire CMS on CentOS 7

Next Post

Setup Pure-FTPd With TLS on Debian 9

Next Post

Setup Pure-FTPd With TLS on Debian 9

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

No Result
View All Result

Recent Post

Install Imagemagick on CentOS
CentOS

Install Imagemagick on CentOS

by How VPS
June 28, 2023
0

This is how I installed Imagemagick on a vanilla CentOS server Start off by installing the prerequisites yum install php-pear...

Read more
how to Check phpinfo

How to Check phpinfo of Hosting or VPS?

June 28, 2023
Failed to download metadata for repo 'appstream' on Centos 8

How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

February 25, 2022
How to Fix MySQL Error "Plugin 'InnoDB' registration as a STORAGE ENGINE failed"?

How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”?

November 17, 2020
How to optimize Mysql or MariaDB

How to optimize Mysql or MariaDB

November 3, 2020

Recent News

  • Install Imagemagick on CentOS
  • How to Check phpinfo of Hosting or VPS?
  • How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

Category

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel
  • About
  • Advertise
  • Careers
  • Contact

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Thabet