CentOS 7中怎么使用cPanel配置Nginx反向代理

cpanel是當前世上功能最強大,最容易使用,最受用戶歡迎的虛擬主機控制系統,很多國外主機主機都使用這套控制面板。

CentOS 7中怎么使用cPanel配置Nginx反向代理

首先,我們需要安裝 EPEL 庫來啟動這個進程

第一步: 安裝 EPEL 庫

root@server1?[/usr]#?yum?-y?install?epel-releaseLoaded?plugins:?fastestmirror,?tsflags,?universal-hooks Loading?mirror?speeds?from?cached?hostfile *?EA4:?66.23.237.210 *?base:?mirrors.linode.com *?extras:?mirrors.linode.com *?updates:?mirrors.linode.com Resolving?Dependencies -->?Running?transaction?check --->?Package?epel-release.noarch?0:7-5?will?be?installed -->?Finished?Dependency?Resolution  Dependencies?Resolved  ======================================================================================== ???Package?Arch?Version?Repository?Size ======================================================================================== Installing: epel-release?noarch?7-5?extras?14?k

第二步: 安裝 nDeploy 的 centos RPM 庫

可以安裝 nDeploy 的 CentOS RPM 庫來安裝我們所需的 nDeploy Web 類軟件和 nginx 插件

root@server1?[/usr]#?yum?-y?install?http://rpm.piserve.com/nDeploy-release-centos-1.0-1.noarch.rpmLoaded?plugins:?fastestmirror,?tsflags,?universal-hooks nDeploy-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 Marking?/var/tmp/yum-root-ei5tWJ/nDeploy-release-centos-1.0-1.noarch.rpm?to?be?installed Resolving?Dependencies -->?Running?transaction?check --->?Package?nDeploy-release-centos.noarch?0:1.0-1?will?be?installed -->?Finished?Dependency?Resolution  Dependencies?Resolved  ======================================================================================== Package?Arch?Version?Repository?Size ======================================================================================== Installing: nDeploy-release-centos?noarch?1.0-1?/nDeploy-release-centos-1.0-1.noarch?110

第三步:安裝 nDeploy 和 Nginx nDeploy 插件

root@server1?[/usr]#?yum?--enablerepo=ndeploy?install?nginx-nDeploy?nDeployLoaded?plugins:?fastestmirror,?tsflags,?universal-hooks 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  Dependencies?Resolved  ======================================================================================== Package?Arch?Version?Repository?Size ======================================================================================== Installing: nDeploy?noarch?2.0-11.el7?ndeploy?80?k nginx-nDeploy?x86_64?1.8.0-34.el7?ndeploy?36?M Installing?for?dependencies: 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  Transaction?Summary ======================================================================================== Install?2?Packages?(+5?Dependent?packages)

我們在自己的服務器上安裝了 Nginx 插件,按照以上步驟完成了安裝。現在我們可以配置 Nginx 作為反向代理和為已有的 cPanel 用戶賬戶創建虛擬主機,為此我們可以運行如下腳本。

第四步:啟動 Nginx 作為默認的前端 Web 服務器,并創建默認的配置文件

root@server1?[/usr]#?/opt/nDeploy/scripts/cpanel-nDeploy-setup.sh?enableModifying?apache?http?and?https?port?in?cpanel  httpd?restarted?successfully. Created?symlink?from?/etc/systemd/system/multi-user.target.wants/nginx.service?to?/usr/lib/systemd/system/nginx.service. Created?symlink?from?/etc/systemd/system/multi-user.target.wants/ndeploy_watcher.service?to?/usr/lib/systemd/system/ndeploy_watcher.service. Created?symlink?from?/etc/systemd/system/multi-user.target.wants/ndeploy_backends.service?to?/usr/lib/systemd/system/ndeploy_backends.service. ConfGen::?saheetha ConfGen::?satest

你可以看到這個腳本將修改 Apache 的端口從 80 到另一個端口來讓 Nginx 作為前端 Web 服務器,并為現有的 cPanel 用戶創建虛擬主機配置文件。一旦完成,確認 Apache 和 Nginx 的狀態。

Apache 狀態:

root@server1?[/var/run/httpd]#?systemctl?status?httpd●?httpd.service?-?Apache?Web?Server Loaded:?loaded?(/usr/lib/systemd/system/httpd.service;?enabled;?vendor?preset:?disabled) Active:?active?(running)?since?Mon?2016-01-18?06:34:23?UTC;?12s?ago Process:?25606?ExecStart=/usr/sbin/apachectl?start?(code=exited,?status=0/SUCCESS) Main?PID:?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]:?Starting?Apache?Web?Server... Jan?18?06:34:23?server1.centos7-test.com?apachectl[25606]:?httpd?(pid?24760)?already?running Jan?18?06:34:23?server1.centos7-test.com?systemd[1]:?Started?Apache?Web?Server.

Nginx 狀態:

root@server1?[~]#?systemctl?status?nginx●?nginx.service?-?nginx-nDeploy?-?high?performance?web?server Loaded:?loaded?(/usr/lib/systemd/system/nginx.service;?enabled;?vendor?preset:?disabled) Active:?active?(running)?since?Sun?2016-01-17?17:18:29?UTC;?13h?ago Docs:?http://nginx.org/en/docs/ Main?PID:?3833?(nginx) CGroup:?/system.slice/nginx.service ├─?3833?nginx:?master?process?/usr/sbin/nginx?-c?/etc/nginx/nginx.conf ├─25473?nginx:?worker?process ├─25474?nginx:?worker?process └─25475?nginx:?cache?manager?process  Jan?17?17:18:29?server1.centos7-test.com?systemd[1]:?Starting?nginx-nDeploy?-?high?performance?web?server... Jan?17?17:18:29?server1.centos7-test.com?nginx[3804]:?nginx:?the?configuration?file?/etc/nginx/nginx.conf?syntax?is?ok Jan?17?17:18:29?server1.centos7-test.com?nginx[3804]:?nginx:?configuration?file?/etc/nginx/nginx.conf?test?is?successful Jan?17?17:18:29?server1.centos7-test.com?systemd[1]:?Started?nginx-nDeploy?-?high?performance?web?server.

Nginx 作為前端服務器運行在 80 端口,Apache 配置被更改為監聽 http 端口 9999 和 https 端口 4430。請看他們的情況:

root@server1?[/usr/local/src]#?netstat?-plan?|?grep?httpdtcp?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
CentOS 7中怎么使用cPanel配置Nginx反向代理
root@server1?[/usr/local/src]#?netstat?-plan?|?grep?nginxtcp?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

為已有用戶創建的虛擬主機的配置文件在 “/etc/nginx/sites-enabled”。 這個文件路徑包含了 Nginx 主要配置文件。

root@server1?[/etc/nginx/sites-enabled]#?ll?|?grep?.conf-rw-r--r--?1?root?root?311?Jan?17?09:02?saheetha.com.conf-rw-r--r--?1?root?root?336?Jan?17?09:02?saheethastest.com.conf

一個域名的示例虛擬主機:

server?{  listen?45.79.183.73:80;#CPIPVSIX:80;#?ServerNamesserver_name?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;  include?/etc/nginx/sites-enabled/saheetha.com.include;  }

我們可以啟動瀏覽器查看網站來確定 Web 服務器的工作狀態。安裝后,請閱讀服務器上的 web 服務信息。

root@server1?[/home]#?ip?a?|?grep?-i?eth03:?eth0:??mtu?1500?qdisc?pfifo_fast?state?UP?qlen?1000 inet?45.79.183.73/24?brd?45.79.183.255?scope?global?dynamic?eth0 root@server1?[/home]#?nginx?-vnginx?version:?nginx/1.8.0
CentOS 7中怎么使用cPanel配置Nginx反向代理

對該句話進行重寫,可得到:對于在 cPanel 中新創建的所有賬戶,Nginx 將會為它們創建虛擬主機。通過這些簡單的的步驟,我們能夠在一臺 CentOS 7 / cPanel 的服務器上配置 Nginx 作為反向代理。

Nginx 作為反向代理的優勢

  1. 便于安裝和配置。

  2. 效率高、性能好。

  3. 防止 ddos 攻擊。

  4. 支持使用 .htaccess 作為 php 的重寫規則。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享