window下phpstudy的nginx配置虚拟主机

本文介绍了如何配置Apache和Nginx以实现虚拟主机设置的过程。对于Apache, 文章提供了虚拟主机配置的具体代码示例;对于Nginx, 则详细展示了如何通过配置文件设置虚拟主机、端口监听及路径映射等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于很长时间没有配置Apache,虽然说知道怎么配置nginx,但是还是花费了一些时间这次记下来下次直接用

在其他选项文件菜单中->打开配置文件->选择vhosts-conf

nginx的话使用

复制代码
server {
        listen       80;
        server_name  你的虚拟目录名称;
        root   "你要操作的目录路径";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
            if ($request_filename !~ (static|robots/.txt|index/.php.*)) {
                rewrite ^/(.*)$ /index.php?$1 last;
                break;
                }

        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}
复制代码

之后最重要一点就是DNS解析了:在C:\Windows\System32\drivers\etc下打开hosts

加入你配置的域名解析到本地的代码例如

127.0.0.1       localhost                               这个是默认有的
127.0.0.1       www.mycomment.com

 apache的虚拟主机的话代码可以参考

复制代码
<VirtualHost *:80>
ServerAdmin fudesign2008@163.com
DocumentRoot "F:\workspace\vim\YNote\src"
    ServerName editor.fuyg.cn
    ServerAlias editor.fuyg.cn
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" combined
    <Directory "F:\workspace\vim\YNote\src">
        Options Indexes FollowSymLinks
        AllowOverride All 
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
复制代码

 

### 如何在PHPStudy中设置和配置Nginx服务器 #### 配置URL重写美化路径省略`index.php` 为了使URL更加简洁美观,在PHPStudy中的Nginx可以按照如下方式来配置以去除访问链接里的`index.php`部分。编辑站点对应的`.conf`文件,通常位于phpStudy安装目录下的`PHPTutorial/nginx/conf/vhost/`内[^1]。 ```nginx server { listen 80; server_name localhost; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` 此段配置实现了当请求不存在实际物理文件或目录时自动转向至`index.php`处理,并保留原始查询字符串参数。 #### 解决跨域资源共享(CORS) 对于需要支持来自不同源的HTTP请求的应用程序来说,可以在Nginx配置里加入特定头部信息允许跨域资源加载。同样是在对应网站配置文件中添加以下内容实现跨域权限开放[^2]: ```nginx location / { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; if ($request_method = 'OPTIONS') { return 204; } } ``` 这段代码设置了响应头字段,告知浏览器哪些域名、方法以及自定义头部被授权用于发起CORS预检请求。 #### ThinkPHP框架适配 如果使用的是ThinkPHP5这样的MVC架构,则需要注意调整根目录指向项目的`public`子文件夹而不是默认的顶级目录。修改`root`指令并确保路径分隔符统一采用正斜杠形式而非反斜杠,这是因为Nginx无法识别Windows风格的路径符号[^3]。 ```nginx server { ... root "E:/www/project/public"; # 注意这里要改成自己的项目位置,并且用/ location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php/$1 last; } location ~ \.php(/|$) { set $real_script_name $fastcgi_path_info; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; } } ``` 上述配置适用于大多数基于ThinkPHP或其他类似结构的应用部署需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值