Vagrant搭设ubuntu的LNMP环境

安装Vagrant和Virtualbox. 这个很少说, 安装完成两个软件后, 在一个空闲的硬盘分区中php

mkdir ubuntu_lnmp
vagrant init ubuntu/trusty64

打开vagrantfile打开这两个配置html

config.vm.network "private_network", ip: “192.168.10.10"

config.vm.provider "virtualbox" do |vb|
  # Display the VirtualBox GUI when booting the machine
  # vb.gui = true

  # Customize the amount of memory on the VM:
  vb.memory = "1024"
end

vagrant up等待安装 vagrant ssh的链接用户名和密码都是vagrantmysql

vagrant环境搞定nginx

sudo apt-get update

安装nginxgit

sudo apt-get install nginx

安装Mysql请设置密码, 在远程链接时候, 能够使用SSH方式链接, ssh的用户名和密码都是vagrantsql

sudo apt-get install mysql-server  mysql-client  libmysqlclient-dev

安装Git版本控制json

sudo apt-get install git

安装PHP以及相关模块ubuntu

sudo apt-get install php5-fpm php5-mysql php5-cli php5-gd php5-memcache php5-memcached php5-json php5-mcrypt php5-curl php-pear build-essential php5-dev -y
sudo pecl install xdebug -y
sudo php5enmod json
sudo php5enmod mcrypt

删除/usr/share/nginx/htmlssh

sudo ln -s /vagrant /usr/share/nginx/html

注意: 这里的 /vagrant 目录其实就是你以前建立的 ubuntu_lnmp 目录, 你在本地修改 ubuntu_lnmp 虚拟机中 /vagrant 目录也会同步curl

修改/etc/php5/fpm/php.ini

cgi.fix_pathinfo = 0
display_errors = On
date.timezone = PRC

/etc/nginx/sites-available/default 修改

server {
    ...
    //找到index
    index index.php index.html index.htm

    ...
    location ~ \.php {
        #       fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
                fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
        #       fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
                set $pathinfo "";
                set $real_script_name $fastcgi_script_name;
                if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                    set $real_script_name $1;
                    set $path_info $2;
                }
                fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
                fastcgi_param SCRIPT_NAME $real_script_name;
                fastcgi_param PATH_INFO $path_info;
    }
}

这样是为了支持PHP的PHPINFO. 其实不是很难理解, fastcgi_param 配置项名称会出如今$_SERVER[配置项名称]中

修改nginx的用户名称

sudo vi /etc/nginx/nginx.conf

找到user www-data; 改成 user vagrant;

修改配置php-fpm配置

sudo vi /etc/php5/fpm/pool.d/www.conf

找到如下配置项目修改

user = vagrant
group = vagrant

;listen = /var/run/php5-fpm.sock 注释掉 改成
listen = 127.0.0.1:9000

listen.owner = vagrant
listen.group = vagrant

个人pm.相关配置

pm.max_children = 1000
pm.start_servers = 25
pm.min_spare_servers = 25
pm.max_spare_servers = 50
pm.max_requests = 1000

为了防止cli和fpm的php.ini不相同, 能够讲cli的php.ini文件删除, 而后ln过去一个

sudo rm -rf /etc/php5/cli/php.ini
ln -s /etc/php5/fpm/php.ini /etc/php5/cli/php.ini

这样修改一个配置文件, 就能够达到两边同步了.

相关文章
相关标签/搜索