zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

Nginx 虚拟主机 VirtualHost 配置

配置Nginx 虚拟主机
2023-09-14 08:59:36 时间

##增加 Nginx 虚拟主机
这里假设大家的 Nginx 服务器已经安装好, 不懂的请阅读各 Linux 发行版的官方文档或者 LNMP 的安装说明. 配置 Virtual host 步骤如下:


进入 /usr/local/nginx/conf/vhost 目录, 创建虚拟主机配置文件 demo.neoease.com.conf ({域名}.conf).


log_format demo.neoease.com $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; access_log /var/log/demo.neoease.com.log demo.neoease.com; } 打开 Nginx 配置文件 /usr/local/nginx/conf/nginx.conf, 在 http 范围引入虚拟主机配置文件如下:
include vhost/*.conf;

4. 重启 Nginx 服务, 执行以下语句.

```bash

service nginx restart

##让 Nginx 虚拟主机支持 PHP

在前面第 2 步的虚拟主机服务对应的目录加入对 PHP 的支持, 这里使用的是 FastCGI, 修改如下.

```bash

server {

 listen 80;

 server_name demo.neoease.com;

 index index.html index.htm index.php;

 root /var/www/demo_neoease_com;

 location ~ .*\.(php|php5)?$ {

 fastcgi_pass unix:/tmp/php-cgi.sock;

 fastcgi_index index.php;

 include fcgi.conf;

 log_format demo.neoease.com $remote_addr - $remote_user [$time_local] $request

 $status $body_bytes_sent $http_referer 

 $http_user_agent $http_x_forwarded_for;

 access_log /var/log/demo.neoease.com.log demo.neoease.com;

##图片防盗链

图片作为重要的耗流量大的静态资源, 可能网站主并不希望其他网站直接引用, Nginx 可以通过 referer 来防止外站盗链图片.

```bash

server {

 listen 80;

 server_name demo.neoease.com;

 index index.html index.htm index.php;

 root /var/www/demo_neoease_com;

 # 这里为图片添加为期 1 年的过期时间, 并且禁止 Google, 百度和本站之外的网站引用图片

 location ~ .*\.(ico|jpg|jpeg|png|gif)$ {

 expires 1y;

 valid_referers none blocked demo.neoease.com *.google.com *.baidu.com;

 if ($invalid_referer) {

 return 404;

 log_format demo.neoease.com $remote_addr - $remote_user [$time_local] $request

 $status $body_bytes_sent $http_referer 

 $http_user_agent $http_x_forwarded_for;

 access_log /var/log/demo.neoease.com.log demo.neoease.com;

##WordPress 伪静态配置

如果将 WordPress 的链接结构设定为 `/%postname%/`, `/%postname%.html` 等格式时, 

需要`rewrite URL`, WordPress 提供 Apache 的 .htaccess 修改建议, 但没告知 Nginx 该如何修改.

我们可以将 WordPress 的虚拟主机配置修改如下:

```bash

server {

 listen 80;

 server_name demo.neoease.com;

 index index.html index.htm index.php;

 root /var/www/demo_neoease_com;

 location / {

 if (-f $request_filename/index.html){

 rewrite (.*) $1/index.html break;

 if (-f $request_filename/index.php){

 rewrite (.*) $1/index.php;

 if (!-f $request_filename){

 rewrite (.*) /index.php;

 rewrite /wp-admin$ $scheme://$host$uri/ permanent;

 location ~ .*\.(php|php5)?$ {

 fastcgi_pass unix:/tmp/php-cgi.sock;

 fastcgi_index index.php;

 include fcgi.conf;

 log_format demo.neoease.com $remote_addr - $remote_user [$time_local] $request

 $status $body_bytes_sent $http_referer 

 $http_user_agent $http_x_forwarded_for;

 access_log /var/log/demo.neoease.com.log demo.neoease.com;

LNMP 套件在提供了 WordPress 为静态配置文件 /usr/local/nginx/conf/wordpress.conf, 在虚拟主机配置的 server 范围引用如下即可.

```bash

include wordpress.conf;

如果你使用 LNMP 套件, 进入 WordPress 后台发现会出现 404 页面, wp-admin 后面缺少了斜杆 /, 

请在 wordpress.conf 最后添加以下语句:

```bash

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

一直以来, 我主要在用 Apache, 自从去年从 MT 搬家到 Linode VPS 之后, 发现服务器压力很大, 每隔几天就要宕机一次, 在胡戈戈的协助下转成了 Nginx, 大半年了一直很稳定.

相对 Apache, Nignx 有更加强大的并发能力, 而因为他对进程管理耗用资源也比较少. 而 Apache 比 Nginx 有更多更成熟的可用模块, bug 也比较少. 卖主机的 IDC 选择 Nignx, 因为高并发允许他们创建更多虚拟主机空间更来钱; 淘宝也因此改造 Nignx (Tengine) 作为 CDN 服务器, 可承受更大压力.

我的github地址:[http://github.com/biezhi](http://github.com/biezhi)

开源框架Blade:[http://github.com/biezhi/blade](http://github.com/biezhi/blade)

谷粒学苑项目实战(十):使用Nginx配置请求转发 之前前端的请求端口为8001,可是现在我们又多了8002端口,后面还会有8003、8004……,如何让前端能够请求这么多的端口呢? 也许我们可以写多个BASE_API,分别对应多个端口,可是在vue框架中许多地方都要用到BASE_API,这样修改的地方太多。 这就需要用到Nginx的请求转发了。
配置Nginx虚拟主机(二) ⭐本文介绍⭐ 在企业信息化应用环境中,安全性不仅取决于硬件防护设备,系统加固、访问控制等基本措施,而且如何减少故障中断时间,提高存储及北方的完善性也是确保企业信息安全的重要措施。本文将进一步学习服务器缓存加速、高可用/负载均衡群集、服务器集中监控等高级安全应用。后续课程将采用最小化安装的CentOS7.3系统,安装系统时勾选 开发工具 选项,以此为基础搭建实现环境。