Vagrant搭建LNMP环境


Vagrant搭建LNMP环境

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

  1. mkdir Ubuntu_lnmp
  2. vagrant init ubuntu/trusty64

打开vagrantfile打开这两个配置

  1. config.vm.network "private_network", ip:192.168.10.10"
  2. config.vm.provider "virtualbox" do |vb|
  3. # Display the VirtualBox GUI when booting the machine
  4. # vb.gui = true
  5. # Customize the amount of memory on the VM:
  6. vb.memory = "1024"
  7. end

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

vagrant环境搞定

  1. sudo apt-get update

安装nginx

  1. sudo apt-get install nginx

安装Mysql请设置密码, 在远程连接时候, 可以使用SSH方式连接, ssh的用户名和密码都是vagrant

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

安装Git版本控制

  1. sudo apt-get git

安装PHP以及相关模块

  1. 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
  2. sudo pecl install xdebug -y
  3. sudo php5enmod json
  4. sudo php5enmod mcrypt

删除/usr/share/nginx/html

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

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

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

  1. cgi.fix_pathinfo =1
  2. display_errors =On
  3. date.timezone = PRC
  4. /etc/nginx/sites-available/default

修改

  1. server {
  2. ...
  3. //找到index
  4. index index.php index.html index.htm
  5. ...
  6. location ~ \.php {
  7. # fastcgi_split_path_info ^(.+\.php)(/.+)$;
  8. # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
  9. #
  10. # # With php5-cgi alone:
  11. fastcgi_pass 127.0.0.1:9000;
  12. # # With php5-fpm:
  13. # fastcgi_pass unix:/var/run/php5-fpm.sock;
  14. fastcgi_index index.php;
  15. include fastcgi_params;
  16. set $path_info "";
  17. set $real_script_name $fastcgi_script_name;
  18. if($fastcgi_script_name ~"^(.+?\.php)(/.+)$"){
  19. set $real_script_name $1;
  20. set $path_info $2;
  21. }
  22. fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
  23. fastcgi_param SCRIPT_NAME $real_script_name;
  24. fastcgi_param PATH_INFO $path_info;
  25. }
  26. }

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

修改nginx的用户名称

  1. sudo vi /etc/nginx/nginx.conf

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

修改配置php-fpm配置

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

找到以下配置项目修改

  1. user = vagrant
  2. group= vagrant
  3. ;listen =/var/run/php5-fpm.sock 注释掉改为
  4. listen =127.0.0.1:9000
  5. listen.owner = vagrant
  6. listen.group= vagrant

我的pm.相关配置

  1. pm.max_children =1000
  2. pm.start_servers =25
  3. pm.min_spare_servers =25
  4. pm.max_spare_servers =50
  5. pm.max_requests =1000

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

  1. sudo cp /etc/php5/fpm/php.ini /etc/php5/cli/php.ini

这样修改一个配置文件, 就可以达到两边同步了。

下面关于LNMP(Linux+Nginx+MySQL+PHP)的文章您也可能喜欢,不妨看看:

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL 

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置

CentOS 6.4 下的LNMP 生产环境搭建及安装脚本

生产环境实用之LNMP架构的编译安装+SSL加密实现

LNMP 全功能编译安装 for CentOS 6.3笔记

CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6)

在部署LNMP的时候遇到Nginx启动失败的2个问题

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建)

CentOS7 安装LNMP(Linux+Nginx+MySQL+PHP) 

本文永久更新链接地址

相关内容