Vagrant搭建LNMP环境
安装Vagrant和Virtualbox. 这个不多说, 安装完成两个软件后, 在一个空闲的硬盘分区中
mkdir _lnmp
vagrant init ubuntu/trusty64
打开vagrantfile打开这两个配置
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的连接用户名和密码都是vagrant
vagrant环境搞定
sudo apt-get update
安装nginx
sudo apt-get install nginx
安装Mysql请设置密码, 在远程连接时候, 可以使用SSH方式连接, ssh的用户名和密码都是vagrant
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
安装Git版本控制
sudo apt-get git
安装PHP以及相关模块
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/html
sudo ln -s /vagrant /usr/share/nginx/html
注意: 这里的 /vagrant 目录其实就是你之前创建的 ubuntu_lnmp 目录, 你在本地修改 ubuntu_lnmp 虚拟机中 /vagrant 目录也会同步
修改/etc/php5/fpm/php.ini
cgi.fix_pathinfo =1
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 $path_info "";
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 cp /etc/php5/fpm/php.ini /etc/php5/cli/php.ini
这样修改一个配置文件, 就可以达到两边同步了。
下面关于LNMP(Linux+Nginx+MySQL+PHP)的文章您也可能喜欢,不妨看看: