Sådan sættes Nginx som Reverse Proxy på Centos7 CPanel

Nginx er en af ​​de hurtigste og mest kraftfulde web-servere. Den er kendt for sin ydeevne og lave ressourceudnyttelse. Det kan installeres som både en selvstændig og en Reverse Proxy Web-server. I denne artikel diskuterer jeg om installationen af ​​Nginx som en omvendt proxy sammen med Apache på en CPanel-server med den nyeste CentOS 7 installeret.

Nginx som omvendt proxy vil fungere som en frontend webserver, der serverer statisk indhold sammen med Apache, der tjener de dynamiske filer i backend. Denne opsætning vil øge den samlede server ydeevne.

Lad os gå gennem installationstrinnene for Nginx som omvendt proxy i CentOS7 x86_64 bit server med cPanel 11.52 installeret.

Først og fremmest skal vi installere EPEL-repoet for at starte med processen.

Trin 1 : Installer EPEL repo.

[Email protected] [/ usr] # yum-du installerer epel-release
Loaded plugins: hurtestmirror, tsflags, universal-kroge
Indlæser spejlehastigheder fra cachelagret værtsfil
* EA4: 66.23.237.210
* base: mirrors.linode.com
* Ekstra: mirrors.linode.com
* opdateringer: mirrors.linode.com
Løsning af afhængigheder
-> Løbende transaktionskontrol
-> Pakke epel-release.noarch 0: 7-5 vil blive installeret
-> Færdig afhængighedsopløsning

Afhængigheder Løst

================================================== ================================================== ===========================================
Package Arch Version Repository Størrelse
================================================== ================================================== ===========================================
Installation:
epil-release noarch 7-5 extras 14 k

Trin 2: Efter installation af repo kan vi starte med installationen af ​​nDeploy RPM repo for CentOS for at installere vores nødvendige nDeploy Webstack og Nginx plugin.

[Email protected] [/ usr] # yum-du installerer http://rpm.piserve.com/nDeploy-release-centos-1.0-1.noarch.rpm
Loaded plugins: hurtestmirror, tsflags, universal-kroge
nDiploy-release-centos-1.0-1.noarch.rpm | 1.7 kB 00: 00: 00
Examining /var/tmp/yum-root-ei5tWJ/nDeploy-release-centos-1.0-1.noarch.rpm: nDeploy-release-centos-1.0-1.noarch
Markering /var/tmp/yum-root-ei5tWJ/nDeploy-release-centos-1.0-1.noarch.rpm, der skal installeres
Løsning af afhængigheder
-> Løbende transaktionskontrol
-> Pakke nDeploy-release-centos.noarch 0: 1.0-1 vil blive installeret
-> Færdig afhængighedsopløsning

Afhængigheder Løst

================================================== ================================================== ===========================================
Package Arch Version Repository Størrelse
================================================== ================================================== ===========================================
Installation:
nDeploy-release-centos noarch 1.0-1 /nDeploy-release-centos-1.0-1.noarch 110

Trin 3: Installer nDeploy og Nginx nDeploy plugins.

[Email protected] [/ usr] # yum -enablerepo = ndeploy installere nginx-nDeploy nDeploy
Loaded plugins: hurtestmirror, tsflags, universal-kroge
epel / x86_64 / metalink | 9.9 kB 00: 00: 00
epel | 4.3 kB 00: 00: 00
ndeploy | 2.9 kB 00: 00: 00
(1 / 4): ndeploy / 7 / x86_64 / primary_db | 14 kB 00: 00: 00
(2 / 4): epel / x86_64 / group_gz | 169 kB 00: 00: 00
(3 / 4): epel / x86_64 / primary_db | 3.7 MB 00: 00: 02

Afhængigheder Løst

================================================== ================================================== ===========================================
Package Arch Version Repository Størrelse
================================================== ================================================== ===========================================
Installation:
nDeploy noarch 2.0-11.el7 ndeploy 80 k
nginx-nDejle x86_64 1.8.0-34.el7 ndeploy 36 M
Installation af afhængigheder:
PyYAML x86_64 3.10-11.el7 base 153 k
libevent x86_64 2.0.21-4.el7 base 214 k
memcached x86_64 1.4.15-9.el7 base 84 k
python-inotify noarch 0.9.4-4.el7 base 49 k
python-lxml x86_64 3.2.1-4.el7 base 758 k

Transaktionsoversigt
================================================== ================================================== ===========================================
Installer 2-pakker (+ 5 Dependent-pakker)

Med disse trin har vi afsluttet med installationen af ​​Nginx-plugin på vores server. Nu skal vi konfigurere Nginx som omvendt proxy og oprette virtualhost for de eksisterende cPanel-brugerkonti. For det kan vi køre følgende script.

Trin 4: At aktivere Nginx som en forreste webserver og oprette standardkonfigurationsfilerne.

[Email protected] [/ Usr] # /opt/nDeploy/scripts/cpanel-nDeploy-setup.sh aktivere
Ændring af apache http og https port i cpanel

httpd genstartet med succes.
Oprettet symlink fra /etc/systemd/system/multi-user.target.wants/nginx.service til /usr/lib/systemd/system/nginx.service.
Oprettet symlink fra /etc/systemd/system/multi-user.target.wants/ndeploy_watcher.service til /usr/lib/systemd/system/ndeploy_watcher.service.
Oprettet symlink fra /etc/systemd/system/multi-user.target.wants/ndeploy_backends.service til /usr/lib/systemd/system/ndeploy_backends.service.
ConfGen :: saheetha
ConfGen :: satest

Som du kan se, vil dette script ændre Apache-porten fra 80 til en anden port for at få Nginx til at køre som en forreste webserver og oprette de virtuelle værtskonfigurationsfiler for de eksisterende cPanel-konti. Når det er færdigt, bekræft status for både Apache og Nginx.

Apache Status:

[Email protected] [/ var / run / httpd] # systemctl status httpd
● httpd.service - Apache Web Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; aktiveret; sælger forudindstillet: deaktiveret)
Aktiv: Aktiv (kører) siden Måned 2016-01-18 06: 34: 23 UTC; 12s siden
Process: 25606 ExecStart = / usr / sbin / apachectl start (kode = afsluttet, status = 0 / SUCCESS)
HovedPID: 24760 (httpd)
CGroup: /system.slice/httpd.service
‣ 24760 / usr / local / apache / bin / httpd -k start

Jan 18 06: 34: 23 server1.centos7-test.com systemd [1]: Start Apache Web Server ...
Jan 18 06: 34: 23 server1.centos7-test.com apachectl [25606]: httpd (pid 24760) kører allerede
Jan 18 06: 34: 23 server1.centos7-test.com systemd [1]: Startet Apache Web Server.

Nginx Status:

[Email protected] [~] # systemctl status nginx
● nginx.service - nginx-nDeploy - højtydende webserver
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; leverandør forudindstillet: deaktiveret)
Aktiv: Aktiv (kører) siden Sun 2016-01-17 17: 18: 29 UTC; 13h siden
Dokumenter: http://nginx.org/en/docs/
HovedPID: 3833 (nginx)
CGroup: /system.slice/nginx.service
├─ 3833 nginx: masterproces / usr / sbin / nginx -c /etc/nginx/nginx.conf
├─25473 nginx: arbejdsproces
├─25474 nginx: arbejdsproces
└─25475 nginx: cache manager proces

Jan 17 17: 18: 29 server1.centos7-test.com systemd [1]: Starter nginx-nDeploy - webserver med høj ydeevne ...
Jan 17 17: 18: 29 server1.centos7-test.com nginx [3804]: nginx: konfigurationsfilen /etc/nginx/nginx.conf syntaks er ok
Jan 17 17: 18: 29 server1.centos7-test.com nginx [3804]: nginx: konfigurationsfilen /etc/nginx/nginx.conf testen er vellykket
Jan 17 17: 18: 29 server1.centos7-test.com systemd [1]: Startet nginx-nDeploy - højtydende webserver.

Nginx fungerer som en frontend webserver, der kører på port 80 og Apache konfiguration er ændret for at lytte på http port 9999 og https port 4430. Se venligst deres status nedenfor:

[Email protected] [/ usr / local / src] # netstat -plan | grep httpd
tcp 0 0 0.0.0.0: 4430 0.0.0.0: * LISTEN 17270 / httpd
tcp 0 0 0.0.0.0: 9999 0.0.0.0: * LISTEN 17270 / httpd
tcp6 0 0 ::: 4430 ::: * LISTEN 17270 / httpd
tcp6 0 0 ::: 9999 ::: * LISTEN 17270 / httpd

apacheport
[Email protected] [/ usr / local / src] # netstat -plan | grep nginx
tcp 0 0 127.0.0.1: 80 0.0.0.0: * LISTEN 17802 / nginx: master
tcp 0 0 45.79.183.73: 80 0.0.0.0: * LISTEN 17802 / nginx: master

De virtuellehost-poster, der er oprettet for de eksisterende brugere som placeret i mappen "/ etc / Nginx / sites-aktiverede”. Denne filsti er inkluderet i Nginx-hovedkonfigurationsfilen.

[Email protected] [/ etc / nginx / sites-enabled] # ll | grep .conf
-rw-r-r- 1 rod rod 311 Jan 17 09: 02 saheetha.com.conf
-rw-r-r- 1 rod rod 336 Jan 17 09: 02 saheethastest.com.conf

Prøve Vhost for et domæne:

server {

lyt 45.79.183.73: 80;
#CPIPVSIX: 80;

# Servernavne
servernavn saheetha.com www.saheetha.com;
access_log /usr/local/apache/domlogs/saheetha.com main;
access_log /usr/local/apache/domlogs/saheetha.com-bytes_log bytes_log;

inkludere /etc/nginx/sites-enabled/saheetha.com.include;

}

Vi kan bekræfte webserverens status ved at ringe til et websted i browseren. Se venligst webserveroplysningerne på min server efter installationen.

[Email protected] [/ home] # ip a | grep -i eth0
3: eth0: <BROADCAST, MULTICAST, UP, LOWER_UP> mtu 1500 qdisc pfifo_fast tilstand UP qlen 1000
inet 45.79.183.73 / 24 brd 45.79.183.255 omfang global dynamisk eth0
[Email protected] [/ home] # nginx -v
nginx version: nginx / xnumx

webserver-status

Nginx vil automatisk oprette den virtuelle vært for eventuelle nyoprettede konti i cPanel. Med disse enkle trin kan vi konfigurere Nginx som omvendt proxy på en CentOS 7 / CPanel server.

Fordele ved Nginx som Reverse Proxy:

  1. Let at installere og konfigurere
  2. Ydelse og effektivitet
  3. Forhindre DDOS-angreb
  4. Tillader .htaccess PHP omskrivningsregler

Jeg håber, at denne artikel er nyttig for jer. Tak fordi du henviser til dette. Jeg vil sætte pris på dine værdifulde kommentarer og forslag til dette for yderligere forbedringer.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.