红联Linux门户
Linux帮助

利用不同端口为本地nginx服务器配置多个站点

发布时间:2016-07-05 10:42:34来源:linux网站作者:yongzhang52545
首先找到nginx的配置文件nginx.conf
[root@localhost nginx]# vi nginx.conf  
 
打开配置文件后找到类似下面一段:
include /etc/nginx/conf.d/*.conf;  
 
没有的就加上,这是我的路径,你们的看实际情况改改,确保路径存在。
加入这段的意思实际是把conf.d目录的以.conf结尾的配置文件都加载进来,修改后保存nginx.conf文件
 
然后进入conf.d目录
[root@localhost nginx]# cd /etc/nginx/conf.d/  
 
然后把目录下面的文件都列出来:
[root@localhost conf.d]# ll  
默认的话,目录下面有个default.conf文件。
 
打开default.conf文件后如下:
server {  
listen   80;  
server_name  localhost;  
#charset koi8-r;  
access_log  /var/log/nginx/access.log  main;  
root/var/www/baidu;  
index   index.php index.html index.htm;  
location / {  
try_files $uri $uri/ =404;  
}  
error_page  404  /404.html;  
# redirect server error pages to the static page /50x.html  
#  
error_page   500 502 503 504  /50x.html;  
location = /50x.html {  
root   /var/www;  
}  
# proxy the PHP scripts to Apache listening on 127.0.0.1:80  
#  
#location ~ \.php$ {  
#proxy_pass   http://127.0.0.1;  
#}  
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
#  
location ~ \.php($|/) {  
try_files $uri =404;  
#rewrite ^/index.php/(.*)$  /$1 last;  
fastcgi_pass unix:/var/www/php-fpm.sock;  
fastcgi_index index.php;  
fastcgi_param PATH_INFO $fastcgi_path_info;  
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
include fastcgi_params;  
fastcgi_intercept_errors on;  
fastcgi_ignore_client_abort off;  
fastcgi_connect_timeout 60;  
fastcgi_send_timeout 180;  
fastcgi_read_timeout 180;  
fastcgi_buffer_size 128k;  
fastcgi_buffers 4 256k;  
fastcgi_busy_buffers_size 256k;  
fastcgi_temp_file_write_size 256k;  
}  
#location ~ \.php$ {  
#root   html;  
#fastcgi_pass   127.0.0.1:9000;  
#fastcgi_index  index.php;  
#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
#includefastcgi_params;  
#}  
# deny access to .htaccess files, if Apache's document root  
# concurs with nginx's one  
#  
#location ~ /\.ht {  
#deny  all;  
#}  
}  
 
如果把上面的配置作为本地配置一个百度网站的设置,那么其访问的端口为默认80端口,访问地址就是:http://localhost/
如果我们想用81端口配置为本地的另外一个网站的访问入口,应该怎么配置呢?
 
首先你需要在conf.d目录下创建一个以.conf结尾的文件,比如:google.com.conf文件,或者直接copy一个default.conf文件也可以,具体配置如下:
server {  
listen   81;  
server_name  localhost;  
#charset koi8-r;  
access_log  /var/log/nginx/access.log  main;  
root/var/www/google;  
index   index.php index.html index.htm;  
location / {  
try_files $uri $uri/ =404;  
}  
error_page  404  /404.html;  
# redirect server error pages to the static page /50x.html  
#  
error_page   500 502 503 504  /50x.html;  
location = /50x.html {  
root   /var/www;  
}  
# proxy the PHP scripts to Apache listening on 127.0.0.1:80  
#  
#location ~ \.php$ {  
#proxy_pass   http://127.0.0.1;  
#}  
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
#  
location ~ \.php($|/) {  
try_files $uri =404;  
#rewrite ^/index.php/(.*)$  /$1 last;  
fastcgi_pass unix:/var/www/php-fpm.sock;  
fastcgi_index index.php;  
fastcgi_param PATH_INFO $fastcgi_path_info;  
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
include fastcgi_params;  
fastcgi_intercept_errors on;  
fastcgi_ignore_client_abort off;  
fastcgi_connect_timeout 60;  
fastcgi_send_timeout 180;  
fastcgi_read_timeout 180;  
fastcgi_buffer_size 128k;  
fastcgi_buffers 4 256k;  
fastcgi_busy_buffers_size 256k;  
fastcgi_temp_file_write_size 256k;  
}  
#location ~ \.php$ {  
#root   html;  
#fastcgi_pass   127.0.0.1:9000;  
#fastcgi_index  index.php;  
#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
#includefastcgi_params;  
#}  
# deny access to .htaccess files, if Apache's document root  
# concurs with nginx's one  
#  
#location ~ /\.ht {  
#deny  all;  
#}  
}  
 
保存后,重启nginx服务器。
访问:http://localhost:81看看是否成功吧。
注意:配置里面的目录文件一定要存在,不然无法启动nginx。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22082.html