物流网站,网页设计与制作作业代码,如何做好平台推广,seo优缺点虚拟主机 虚拟主机指的就是⼀个独⽴的站点#xff0c;具有独⽴的域名#xff0c;有完整的www服务#xff0c;例如⽹站、FTP、邮件等 。Nginx⽀持多虚拟主机#xff0c;在⼀台机器上可以运⾏完全独⽴的多个站点。⼀些草根流量站⻓#xff0c;常会搭建个⼈站点进⾏资源分享交…虚拟主机 虚拟主机指的就是⼀个独⽴的站点具有独⽴的域名有完整的www服务例如⽹站、FTP、邮件等 。Nginx⽀持多虚拟主机在⼀台机器上可以运⾏完全独⽴的多个站点。⼀些草根流量站⻓常会搭建个⼈站点进⾏资源分享交流并且可能有多个不同业务的站点如果每台服务器只运⾏⼀个⽹站那么将造成资源浪费成本浪费。利⽤虚拟主机的功能就不⽤为了运⾏⼀个⽹站⽽单独配置⼀个Nginx服务器或是单独再运⾏⼀组Nginx进程。虚拟主机可以在⼀台服务器同⼀个Nginx进程上运⾏多个⽹站。 搭建网站 搭建一个静态网站修改nginx.conf⾃上⽽下找到第⼀个server{}指令块 修改如下 server {listen 80;server_name localhost;#默认编码charset utf-8;# access_log logs/host.access.log main;location / {#定义虚拟主机的资源目录,无论win或linux都要写成正斜杠root C:/Users/zhang/Desktop/new;#定义首页文件的名字index index.html index.htm;}}执行命令
// 检查配置是否正确
nginx -t
// 启动
nginx
// 重新加载Nginx配置文件
nginx -s reload准备资源 访问localhost 访问静态资源 nginx⽀持gzip对资源压缩传输经过gzip压缩后的⻚⾯⼤⼩可以为原本的30%甚⾄更⼩⽤户浏览体验会快很多 #user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;// 开启压缩gzip on;gzip_http_version 1.1;gzip_comp_level 4;gzip_types text/plain application/javascriptapplication/x-javascript text/css application/xmltext/javascript application/x-httpd-php image/jpeg image/gifimage/png;server {listen 80;server_name localhost;#默认编码charset utf-8;# access_log logs/host.access.log main;location / {#定义虚拟主机的资源目录,无论win或linux都要写成正斜杠root C:/Users/zhang/Desktop/new;#定义首页文件的名字index index.html index.htm;}}}目录游览功能
修改nginx.conf支持游览目录 #user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;# gzip on;#第一个虚拟主机server {#监听的端口和iplisten 80;#主机域名server_name www.test1.com;charset utf-8;access_log logs/host.access.log;#url匹配location / {#HTML文件存放的目录root C:/Users/zhang/Desktop/new/web2;#开启目录索引功能autoindex on;#关闭详细文件大小统计让文件大小显示MBGB单位默认为b autoindex_exact_size off;#开启以服务器本地时区显示文件修改日期 autoindex_localtime on; }}}访问 基于IP多虚拟主机 修改 nginx.conf ⽀持多虚拟主机
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;gzip on;gzip_http_version 1.1;gzip_comp_level 4;gzip_types text/plain application/javascriptapplication/x-javascript text/css application/xmltext/javascript application/x-httpd-php image/jpeg image/gifimage/png;#第一个虚拟主机server {#监听的端⼝和iplisten 127.0.0.1:80;#主机域名server_name 127.0.0.1;charset utf-8;access_log logs/host.access.log;#url匹配location / {#HTML文件存放的目录root C:/Users/zhang/Desktop/new/web1;#默认首页文件从左往右寻找index.html或是index.htmindex index.html index.htm;}}#第二个虚拟主机server {listen 192.168.52.100:80;server_name 192.168.52.100;location / {index index.html index.htm;root C:/Users/zhang/Desktop/new/web2;}}
}执行命令 #重载nginx
nginx -s reload 访问站点一 访问站点二 基于域名多虚拟主机 基于多IP的虚拟主机可能会造成IP地址不⾜的问题如果没有特殊需求更常⽤的是基于多域名的形式。只需要你单独配置DNS服务器将主机名对应到正确的IP地址修改Nginx配置可以识别到不同的主机即可这样就可以使得多个虚拟主机⽤同⼀个IP解决了IP不足的隐患。
打开C:\Windows\System32\drivers\etc配置域名。 修改 nginx.conf ⽀持多域名的虚拟主机 #user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;gzip on;gzip_http_version 1.1;gzip_comp_level 4;gzip_types text/plain application/javascriptapplication/x-javascript text/css application/xmltext/javascript application/x-httpd-php image/jpeg image/gifimage/png;#第一个虚拟主机server {#监听的端?和iplisten 80;#主机域名server_name www.test1.com;charset utf-8;access_log logs/host.access.log;#url匹配location / {#HTML文件存放的目录root C:/Users/zhang/Desktop/new/web1;#默认首页文件从左往右寻找index.html或是index.htmindex index.html index.htm;}}#第二个虚拟主机server {listen 80;server_name www.test2.com;location / {index index.html index.htm;root C:/Users/zhang/Desktop/new/web2;}}
}执行命令 #重载nginx
nginx -s reload 访问域名1 访问域名2 基于端口多虚拟机 基于端⼝的配置在⽣产环境⽐较少⻅⽤于特殊场景例如公司内部测试平台⽹站使⽤特殊端⼝的后台OA 系统、⽹站后台 CRM 后台等。 修改nginx.conf⽀持多域名的虚拟主机 #user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;gzip on;gzip_http_version 1.1;gzip_comp_level 4;gzip_types text/plain application/javascriptapplication/x-javascript text/css application/xmltext/javascript application/x-httpd-php image/jpeg image/gifimage/png;#第一个虚拟主机server {#监听的端口和iplisten 80;#主机域名server_name www.test1.com;charset utf-8;access_log logs/host.access.log;#url匹配location / {#HTML文件存放的目录root C:/Users/zhang/Desktop/new/web1;#默认首页文件从左往右寻找index.html或是index.htmindex index.html index.htm;}}#第二个虚拟主机server {listen 81;server_name www.test1.com;location / {index index.html index.htm;root C:/Users/zhang/Desktop/new/web2;}}
}执行命令
#重载nginx
nginx -s reload
访问端口80 访问端口81 root和alias区别
1. Nginx的配置文件server中指定两个location执行分别为root和alias的指令
location /test/{alias /www/test/;
}
按照上述配置则访问/test/目录里面的文件时nginx会去/www/test目录找文件
location /test/{root /www/test;
}
按照上述配置则访问/test/目录下的文件时nginx会去/www/test/test/目录下找文件
2.alias是一个目录别名的定义root则是最上层目录的定义。
3,另一个区别是alias后面必须要用/结束否则会找不到文件而root则对/可有可无
4.不少人都有误区认为root是指的/www/test目录下但是应该是/www/test/test目录