Heim  >  Artikel  >  Backend-Entwicklung  >  Nginx konfiguriert den virtuellen Host vhost

Nginx konfiguriert den virtuellen Host vhost

WBOY
WBOYOriginal
2016-08-08 09:19:511230Durchsuche

Sprechen Sie zunächst über mein eigenes Verständnis

   所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同。
    nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机的几个地址,应该是都指向nginx所在的ip地址,虚拟主机功能才能正常。

Lassen Sie uns über die Konfiguration des virtuellen Hosts in der Nginx-Umgebung sprechen

Angenommen, der Domänenname des virtuellen Hosts Wir müssen Folgendes konfigurieren: mail.zjc.com


Das Speicherverzeichnis des virtuellen Hosts ist /var/www/mail.zjc.com/web
sudo mkdir -p /var/www/mail.zjc.com/web


Konfigurationsdatei für den virtuellen Nginx-Host erstellt
sudo gedit /etc/nginx/sites-available/mail.zjc.com.vhost
Der Inhalt ist (wo die PHP-Domäne gemäß der lokalen PHP-Anwendung konfiguriert ist)

<code><span>server</span> {
       <span>listen</span><span>80</span>;
       <span>server_name</span> mail.zjc.com;
       <span>root</span> /var/www/mail.zjc.com/web;
       <span>if</span> (<span>$http_host</span> != <span>"mail.zjc.com"</span>) {
                 <span>rewrite</span><span> ^</span><span>http://mail.zjc.com$request_uri</span><span>permanent</span>;
       }
       <span>index</span> index.php index.html;
       <span>location</span> = /favicon.ico {
                <span>log_not_found</span><span>off</span>;
                <span>access_log</span><span>off</span>;
       }
       <span>location</span> = /robots.txt {
                <span>allow</span> all;
                <span>log_not_found</span><span>off</span>;
                <span>access_log</span><span>off</span>;
       }
       <span># Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!</span><span>location</span><span>~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_</span> {
                <span>deny</span> all;
        }
       <span># Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).</span><span>location</span><span>~ /\.</span> {
                <span>deny</span> all;
                <span>access_log</span><span>off</span>;
                <span>log_not_found</span><span>off</span>;
       }
       <span>location</span><span>~*  \.(jpg|jpeg|png|gif|css|js|ico)$</span> {
                <span>expires</span> max;
                <span>log_not_found</span><span>off</span>;
       }
       <span>location</span><span>~ \.php$</span> {
            <span>try_files</span><span>$uri</span> =<span>404</span>;
            <span>fastcgi_split_path_info</span><span> ^(.+\.php)(/.+)$</span>;
            <span>fastcgi_pass</span><span>unix:/var/run/php5-fpm.sock</span>;
            <span>fastcgi_index</span> index.php;
            <span>fastcgi_param</span> SCRIPT_FILENAME <span>$document_root</span><span>$fastcgi_script_name</span>;
            <span>include</span> fastcgi_params;
        }
}</code>

da die Hauptkonfigurationsdatei von nginx, nginx.conf, die Konfiguration automatisch auf Websites anwendet -enabled-Datei, daher müssen wir einen Link zur Datei mail.zjc.com.vhost in Sites-enabled erstellen

<code>cd /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/mail<span>.zjc</span><span>.com</span><span>.vhost</span> www<span>.zjc</span><span>.com</span><span>.vhost</span></code>

Nginx neu laden, damit die Konfiguration wirksam wird
sudo /etc/init.d/nginx reload


Okay, erstellen Sie als Nächstes einige Dateien (z. B. index.php) im Verzeichnis /var/www/mail.zjc.com/web und Sie können über http://mail.zjc.com/index.php darauf zugreifen. Denken Sie übrigens daran, mail.zjc.com in Hosts oder DNS so festzulegen, dass es auf die IP-Adresse von nginx verweist.

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt Nginx vor, um den virtuellen Host-Vhost zu konfigurieren, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:[php] QR-CodeNächster Artikel:[php] QR-Code