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

這樣修改一個配置文件, 就能夠達到兩邊同步了.

相關文章
相關標籤/搜索