Vagrant搭建虚拟化开发环境(四)PHP框架配置

本篇开启PHP框架配置(以ThinkPHP5为例)

上一篇文章地址:https://www.cnblogs.com/phperpxy/p/10338427.html

配置nginx虚拟主机

cd /etc/nginx/conf.d #nginx存放虚拟主机配置文件的地方
sudo touch tp5.conf  #新建一个配置文件
sudo vim tp5.conf    #编辑
sudo service nginx restart #重启nginx

首先说明下我配置的共享目录是挂载到这个目录下的/home/www/;下面配置文件有些注释 不要把注释复制进去了

server{
   server_name tp5.aaa.com;    #指定一个访问域名
   root /home/www/tp5/public;  #指定Web运行目录,tp5入口文件是在public目录下面
   index index.php index.html;  #默认访问的文件
   location / {            #下面这一段是将请求转发,所有的文件都转发到index.php,因为PHP的框架基本上是单一入口
    if ( -f $request_filename ){
       break;
    }
    if ( !-e $request_filename ){
       rewrite ^/(.*)$ /index.php/$1 last;
       break;
    }
   }

   location ~ \.php {      #下面这一段是配置PATH_INFO方式访问,通过传递一个变量来给框架解析 比如通过article/id/1 这样路径得到文章id
        set $script $uri;
            set $path_info "";
            if ($uri ~ "^(.+\.php)(/.+)") {
                set $script $1;
                set $path_info $2;
            }
            include   fastcgi_params;
            fastcgi_index    index.php?IF_REWRITE=1; #隐藏入口文件index.php
            fastcgi_pass     127.0.0.1:9000;
            fastcgi_param    PATH_INFO    $path_info;
            fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param    SCRIPT_NAME    $script;
            try_files $uri =404;
   }
}

编辑本机的hosts文件,添加一行,我是Win7系统这个文件的位置C:\Windows\System32\drivers\etc

192.168.33.10   tp5.aaa.com

直接访问会出现502错误

#支持nginx fastcgisudo apt-get install php5-cgi php5-fpm#监听方式修改成9000端口默认sock模式cd /etc/php5/fpm/pool.d/vim www.conf
#找到下面这行将注释掉;代表注释,在添加一行后保存退出
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
#上面的东西具体含义是修改php-fpm监听方式,之前的方式不稳定#科普下nginx没有处理php文件的能力,它会把php的文件转发到php-fpm处理,处理完在返回给nginx
sudo service php5-fpm restart  #重启php-fpm 

再次访问OK

配置Apache虚拟主机

cd /etc/apache2/sites-enabled/  #apache配置文件目录
sudo touch tp5.conf #新建一个配置文件
sudo vim apache2.conf  #修改apache配置文件
sudo service apache2 restart #重启

配置如下

<VirtualHost *:8888>    #监听端口
        ServerName tp5.aaa.com   #访问域名
        DocumentRoot /home/www/tp5/public  #web运行目录
        ErrorLog ${APACHE_LOG_DIR}/error.log     #错误日志文件位置
        CustomLog ${APACHE_LOG_DIR}/access.log combined #访问日志
</VirtualHost>

Apache默认也是无法处理php文件,它需要一个模块支持

#安装支持apache2的php模块
sudo apt-get install libapache2-mod-php5
#开启rewrite功能--隐藏入口文件--apache隐藏路口文件是通过重写。htaccess文件,具体看tp5手册 搜索URL重写
sudo a2enmod rewrite 

这时候访问会出现403错误,403一般是拒绝访问

#编辑配置文件cd /etc/apache2
vim apache2.conf#找到下面这行东西
<Directory />
        Options FollowSymLinks
        AllowOverride None #修改成AllowOverride ALL
        #Require all denied #把这行屏蔽掉,拒绝一切链接
</Directory>#保存重启apache

这时候访问http://tp5.aaa.com:8888  OK 大功告成!

原文地址:https://www.cnblogs.com/phperpxy/p/10338940.html

时间: 2024-10-09 10:20:46

Vagrant搭建虚拟化开发环境(四)PHP框架配置的相关文章

Vagrant搭建虚拟化开发环境(五)虚拟机优化 PHP升级 打包分发

上一篇文章 已经配置好了php的开发环境.但是默认的PHP版本太低了,只有5.5.9.这可无法满足一些新框架的需求.本篇说明了如何在ubuntu升级PHP以及一些其他的vagrant配置. 虚拟机配置优化 #虚拟机主机名 这样进入虚拟机就会变成[email protected]的名字 config.vm.hostname = "xxx" #虚拟机物理配置 打开注释 config.vm.provider "virtualbox" do |vb| # # Display

Vagrant搭建虚拟化开发环境(二)LAMP和LNMP环境配置

跟着上一篇来,本篇开始配置php开发环境 上一篇地址:https://www.cnblogs.com/phperpxy/p/10337848.html 安装相应的软件 这里有坑,一定要按步骤来 第一步替换源(默认的源是国外的,下载速度惊人) sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份 sudo vi /etc/apt/sources.list #修改源 先用vi 后面装vim 内容在下面 sudo apt-get upd

Vagrant搭建Ubuntu-JavaEE开发环境——Tomcat+JDK+MySql+dubbo+测试

Vagrant搭建(Tomcat8+JDK7+MySQL5+dubbo) JDK 1.下载jdk 2.解压JDK tar -xzvf jdk-7u79-linux-x64.tar.gz 3.设置环境变量 vim /home/vagrant/.bashrc 这里因为我用的vagrant所以提示: The program 'vim' can be found in the following packages: * vim * vim-gnome * vim-tiny * vim-athena *

vagrant系列教程(五):vagrant搭建python开发环境

这是我写的vagrant系列的最后一篇文章了.因为前面说了那么多环境搭建的东东.相信大家已经基本掌握了vagrant搭建环境的基本技能. 配置vagrant文件 之前文章已经说过,如果通过vagrant的配置文件,来完成多机器的搭建.简单快捷.今天再来一个python的机器.只需如下配置: config.vm.define :python do |python| python.vm.provider "virtualbox" do |v| v.customize ["modi

基于C/S架构的3D对战网络游戏C++框架 _05搭建系统开发环境与Boost智能指针、内存池初步了解

本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.

Unity3D热更新全书-脚本(四) 用C#LightEvil搭建实际开发使用的脚本框架

C#LightEvil之前提供了很多和Unity结合的例子,都是采用把脚本文件放置在StreamingAssets中的方法. 这样可以利用Unity的特性,放在这个目录中的CS文件会被编译器编译,我们就利用C#编译器来对我们的脚本进行验证. 同时StreamingAssets中的文件又是直接随项目发布的,所以可以直接以文件方式取出这些脚本文件编译执行. 这是一个很巧妙的方式,但是用在实际项目中会有一些问题: 一.可能会让程序员产生混淆,哪里是脚本,哪里是程序,傻傻分不清楚 二.主程序里会有一份用

ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk(by 星空武哥)

转载请标注原创地址:http://blog.csdn.net/lsyz0021/article/details/52215996 所有的软件均在ubuntu 14.04 LTS下测试 ubuntu下搭建android开发环境(一)安装ubuntu系统 ubuntu下搭建android开发环境(二)设置ubuntu的root管理员密码 ubuntu下搭建android开发环境(三)ubuntu安装搜狗输入法 ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk

Vagrant 创建和部署虚拟化开发环境

Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用Chef 创建自动化虚拟环境. 安装方法: sudo gem install vagrantvagrant box add base http://files.vagrantup.com/base.boxmkdir vagrantvagrant initvagrant up

利用vagrant快速搭建rails开发环境

前言 当我们学习一门新的语言或技术的时候,最麻烦或比较浪费时间的事情就是搭建开发环境.而搭建开发环境与我们将要学习的新的语言或技术,没有太大的联系,因为我们感兴趣的只是新的语言或技术本身,而并非它们的开发环境.如果浪费太多的时间在这些上面,则更是不值得事情.如果能有一套现成的搭建好的开发环境,这样我们就可以直接关注我们所感兴趣的东西了.如在写某方面教程的时候,如果能配有一个现成的开发环境,这样初学者就可以快速的上手,掌握核心的知识,聚焦重点内容. 本文主要介绍如何利用vagrant快速的搭建ra