1. 程式人生 > >阿里雲ECS nginx伺服器主機lnmp環境,同一埠同一IP,不同虛擬主機;同一主機不同埠,不同網站 設定方法

阿里雲ECS nginx伺服器主機lnmp環境,同一埠同一IP,不同虛擬主機;同一主機不同埠,不同網站 設定方法

最近買了阿里雲伺服器掛載我個人網站,我有好幾個域名怎麼辦?比如我的域名為 tust.我愛你

1 . 建立虛擬主機,可以參考lnmp的設定點選開啟連結

2 . 安裝ftp(安裝方法點選)上傳檔案到你建立的虛擬主機,我採用ftp上傳至虛擬空間 /home/wwwroot/tust.我愛你 目錄下。

3 . 域名解析到主機ip地址,ip地址查詢介面如下圖:將其解析到對應域名; 4 .  配置阿里雲ecs 例項安全規則,點選連結檢視官方介紹。點選開啟連結,注意你想使用不同ip訪問不同網站時,安全組規則對每一個你使用的埠都要新增,否則網站無反應。例如網站a使用80埠,網站b使用81埠,如下圖


5 .  更改lnmp的配置檔案,首先你要找到配置檔案,檢視官方文件,可以知道

Nginx主配置(預設虛擬主機)檔案:/usr/local/nginx/conf/nginx.conf

新增的虛擬主機配置檔案:/usr/local/nginx/conf/vhost/域名.conf

接下來 有兩種方案做到一個主機(伺服器)掛載多個網站/虛擬空間

方法1:採用各個網站訪問不同埠

        主配置檔案:

server
    {  //需要修改的地方已經標紅
        listen 80 default_server;    
//你想要的監聽埠 server_name _; //通過不同埠訪問不同虛擬空間時不用修改 index index.html index.htm index.php; //你的預設主頁 root /home/wwwroot/tust.我愛你; //你虛擬空間的檔案目錄地址 #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf; location /nginx_status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /\. { deny all; } access_log /home/wwwlogs/access.log; //你的虛擬空間操作日誌 } include vhost/*.conf; //此處包含其它虛擬空間配置檔案 }

虛擬主機配置檔案

server
    {
        listen 82;
        #listen [::]:82;
        server_name _;  
        index new.htm index.html index.htm index.php default.html default.htm default.php;    //我增加了new.htm 這是我的主頁檔案
        root  /home/wwwroot/tust.我愛你;

        include none.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/tust.我愛你.log;
    }

方法2 : 同一個主機同一個ip地址,訪問不同網站(虛擬主機)

以主配置檔案修改為例:我的域名為 tust.我愛你  檔案目錄為 /home/wwwroot/tust.我愛你

server
    {  //需要修改的地方已經標紅
        listen 80 ;               //你想要的監聽埠
        server_name www.tust.我愛你 tust.我愛你;                       //帶不帶wwww.不同
        index index.html index.htm index.php;  //你的預設主頁
        root  /home/wwwroot/tust.我愛你;    //你虛擬空間的檔案目錄地址

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;  //你的虛擬空間操作日誌
    }
include vhost/*.conf;      //此處包含其它虛擬空間配置檔案
}

6 . 設定完成後別忘了重啟lnpm服務  ,xshell裡執行

lnpm restart