最近工做中须要部署一些PHP的程序,经过这篇文章记录一下部署过程。php
######关于Lemp
LEMP 是一组实现web server的开源软件。 lemp是Linux,Nginx,MySQL,PHP的缩写,由于我平时喜欢Ubuntu因此加下来的内容都是在Ubuntu这个发行版本上进行的。html
######安装软件 在进行接下来的步骤中须要用户有管理权限,避免没必要要的问题发生。mysql
本文将经过apt-get进行软件管理,nginx
sudo apt-get update
MYSQL 是一个关系型数据库数据库,虽然最近比较倾向于使用PostgreSQL。 如今开始安装MySQL,打开terminal(命令行工具)并输入下面的命令web
sudo apt-get install mysql-server php5-mysql
在安装过程当中,MySQL会提示设置root密码,若是没有设置也没有关系,安装之后再设置也很简单。sql
######第三部 安装Nginxshell
sudo apt-get install nginx sudo service nginx start
能够经过浏览器访问 http://IP/
查看Nginx是否安装成功, 经过下面的命令能够查看IP地址。数据库
ifconfig eth0 | grep inet | awk '{ print $2 }'
安装PHP-FPM
,打开终端并输入下面的命令,与nginx
的配置部分放在后面再说。浏览器
sudo apt-get install php5-fpm
######第四部 配置php 打开php.ini安全
sudo vi /etc/php5/fpm/php.ini
查找 cgi.fix_pathinfo=1
, 把1
改成0
cgi.fix_pathinfo=0
这个设置是为了安全考虑 若是listen
的是127.0.0.1:9000
,将其改为/var/run/php5-fpm.sock
vi /etc/php5/fpm/pool.d/www.conf listen = /var/run/php5-fpm.sock
保存并退出 重启php-fpm
sudo service php5-fpm restart
######第六部 配置nginx
打开Nginx
的默认虚拟主机文件
vi /etc/nginx/sites-avilable/default
新版本的Ubuntu 会默认建立html
来代替www
,这一点要注意
[...] server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on the php-fpm socket location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } [...]
这是修改后的配置文件 在index 行添加index.php 修改server_name
,保存并退出。
######第七部 建立一个php info的页面 能够经过这个页面快速查看php的配置 首先建立一个info.php文件
sudo vi /usr/share/nginx/www/info.php
添加以下内容,保存并退出
<?php phpinfo(); ?>
重启nginx
sudo service nginx restart
经过 http://ip/info.php
查看php-fpm
到这里 LEMP
配置就结束了