首頁  >  文章  >  運維  >  nginx伺服器多站點怎麼配置

nginx伺服器多站點怎麼配置

WBOY
WBOY轉載
2023-05-18 11:29:012631瀏覽

1、首先要找到nginx 設定檔之所在,阿里雲上的nginx.conf 檔案上 /alidata/server/nginx-1.4.4/conf 中。

2、然後在conf目錄下建立一個vhosts 目錄,  這個目錄是用來存放不同網站的設定檔的。

3、然後呢, 在nginx.conf 最後加入一行include /alidata/server/nginx/conf/vhosts/*.conf;

user www www; 
worker_processes 1; 
 
error_log /alidata/log/nginx/error.log crit; 
pid    /alidata/server/nginx/logs/nginx.pid; 
 
#specifies the value for maximum file descriptors that can be opened by this process.  
worker_rlimit_nofile 65535; 
 
events  
{ 
 use epoll; 
 worker_connections 65535; 
} 
 
 
http { 
  include    mime.types; 
  default_type application/octet-stream; 
 
  #charset gb2312; 
 
  server_names_hash_bucket_size 128; 
  client_header_buffer_size 32k; 
  large_client_header_buffers 4 32k; 
  client_max_body_size 8m; 
 
  sendfile on; 
  tcp_nopush   on; 
 
  keepalive_timeout 60; 
 
  tcp_nodelay on; 
 
  fastcgi_connect_timeout 300; 
  fastcgi_send_timeout 300; 
  fastcgi_read_timeout 300; 
  fastcgi_buffer_size 64k; 
  fastcgi_buffers 4 64k; 
  fastcgi_busy_buffers_size 128k; 
  fastcgi_temp_file_write_size 128k; 
 
  gzip on; 
  gzip_min_length 1k; 
  gzip_buffers   4 16k; 
  gzip_http_version 1.0; 
  gzip_comp_level 2; 
  gzip_types    text/plain application/x-javascript text/css application/xml; 
  gzip_vary on; 
  #limit_zone crawler $binary_remote_addr 10m; 
  log_format '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 
          
  # 加入下面一行 表示将 vhosts 下面所有的 conf 文件包含进来 
  include /alidata/server/nginx/conf/vhosts/*.conf; 
}

4、然後,就是在vhosts 目錄下寫你對應網站的conf 檔案了。下面給出一個範例

server { 
  listen    80; 
  # 这个表示 网站域名, 可以是二级甚至多级域名 
  server_name localhost demo.com www.demo.com test.demo.com; 
 
  # 表示默认索引文件 
  index index.html index.htm index.php; 
   
  # 该站点对应的网站根目录所在 
  root /alidata/www/demo; 
 
  location ~ .*\.(php|php5)?$ 
  { 
    #fastcgi_pass unix:/tmp/php-cgi.sock; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    include fastcgi.conf; 
  } 
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 
  { 
    expires 30d; 
  } 
  location ~ .*\.(js|css)?$ 
  { 
    expires 1h; 
  } 
 
  # 伪静态规则 
  include /alidata/server/nginx/conf/rewrite/phpwind.conf; 
  access_log /alidata/log/nginx/access/phpwind.log; 
}

5、如果還要繼續添加, 直接複製檔案。然後修改一下 server_name, root, 和access_log(如果有必要的話) 就ok了。

6、然後,不要立刻重啟nginx,應該要先測試一下nginx 設定檔是否正常. 找到nginx 的 sbin目錄。注意, 這個地方是nginx 的sbin 目錄(這個目錄與nginx 的conf 目錄是同級目錄)。 linux 下有許多與sbin同名的目錄。容易搞錯。在阿里雲端伺服器上一般預設的目錄是 /alidata/server/nginx-1.4.4/sbin。

nginx伺服器多站點怎麼配置

7、輸入cd /alidata/server/nginx-1.4.4/sbin,然後輸入  ./nginx -t ,如果控制台顯示下面兩行,則表示配置成功了,否則請根據提示繼續檢查設定檔。

nginx: the configuration file /alidata/server/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /alidata/server/nginx/conf /nginx.conf test is successful

nginx伺服器多站點怎麼配置

8、設定成功之後, 就需要重新啟動nginx 伺服器。在sbin目錄下輸入指令:./nginx -s reload, 然後整個過程就完成了。

另外, 總結nginx 的幾個常用指令:


./nginx

./nginx -s reload

重啟  

#

ps -ef | grep nginx   # 查询nginx主进程号

關機 

./nginx -t

從容停止   kill -quit 主行程號碼 


快速停止   kill -term 主程式號碼 


強制停止   kill -term 主程式號碼 


強制停止9 nginx 


若nginx.conf配置了pid檔案路徑,如果沒有,則在logs目錄下 


kill -訊號類型'/usr/local/nginx/ logs/nginx.pid'  

#######判斷設定檔是否正確 ######rrreee

以上是nginx伺服器多站點怎麼配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除