Ubuntu14上用apt-get配置Nginx+PHP5+PHP-FPM+MySQL5

安装nginx的方式有多种,可以通过官方下载nginx源码包编译安装,也可以通过ubuntu软件包的形式安装,个人觉得都可以。大致考虑如下几点因素:

1)如果本身系统就是通过源码编译安装的,那么系统的性能将是比较高的,那么这种情况,通过源码来安装软件,性能是比较好的。而如果系统采用的是ubuntu等发行版安装的,那么软件通过源码编译并不能带来非常明显的性能提升。当然如果你想锻炼一下,或者自我满足一下,也可以试试通过源码安装。

2)如果本身搭建环境的目地是为了测试、学习或小型的网站搭建,那么也不建议通过源码的方式来安装,源码安装的方式出现的问题会比较多,同时也增加了小型站长日后维护的难度。

3)本身ubuntu系统支持的在线包管理机制,技术肯定已经非常成熟了,没有必要过分担心其稳定性与安全性。

4)当然通过源码编译的方式带来的好处是,定制性比较高。所以看个人需求了。

好了,废话不多说啦,开始进入正题。

安装前准备

更新软件列表

apt-get update

一、安装nginx

apt-get install nginx

nginx相关命令

启动nginx
service nginx start
/etc/init.d/nginx start
停止服务
/etc/init.d/nginx -s stop
重载
/etc/init.d/nginx -s reload

二、安装MySQL

ubuntu 安装mysql相对比较简单

1.安装mysql的服务端

apt-get install mysql-server
在安装的过程中需要你输入root用户的密码。

2.安装mysql的客户端

apt-get install mysql-client

3.安装完毕后,一般需要重新设置下字符集

1) 查看当前的编码:show variables like 'character%';
2) 修改my.cnf,在[client]下添加default-character-set=utf8
命令:vi /etc/mysql/my.cnf
3) 在[server]下添加default-character-set=utf8,init_connect='SET NAMES utf8;'
4) 重启mysql
/etc/init.d/mysql restart

三、安装php5-fpm

apt-get install php5-cgi php5-mysql php5-fpm php5-curl php5-mcrypt

apt-get install php5-cgi
apt-get install php5-fpm
apt-get install php5-curl (客户端 URL 库函数库)
apt-get install php5-gd (GD库图像函数库)
apt-get install php5-mysql (增加对mysql支持)
apt-get install php5-mcrypt (Mcrypt 加密函数库)
apt-get install php5-memcache (Memcache客户端)
apt-get install php5-memcached (Memcache服务端)
apt-get install php5-dev (开发支持模块)

#或者你需要更齐全的php包:

#apt-get install php5-cgi php5-mysql php5-fpm php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt

php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

1:模块说明:

什么是CGI ?

CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。

什么是FastCGI ?

FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。

什么是PHP-CGI ?

PHP-CGI是PHP自带的FastCGI管理器。

什么是PHP-FPM ?

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。
PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。
使用PHP-FPM来控制PHP-CGI的FastCGI进程

2:安装完毕后,对nginx的配置文件需要做些修改

Nginx configuration file is located at /etc/nginx/nginx.conf. But basically, we don't need to touch it. The configuration

of nginx website is located in /etc/nginx/sites-available/default file.
Open it, and uncomment lines:

…..
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;
}

增加index.php
……

index index.html index.htm index.php;

3:php5-fpm 配置优化

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

下面4个参数的意思分别为:
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。

注:以内存512M的VPS来说,建议设置的参数如下,仅供参考:
pm=dynamic
pm.max_children=20
pm.start_servers=5
pm.min_spare_servers=5
pm.max_spare_servers=20

4:重启php5-fpm
service php5-fpm restart
/etc/init.d/php5-fpm restart

四、安装phpmyadmin

apt-get install phpmyadmin

按提示输入mysql的账号密码就可以了,可能会提示你选择apache还是lighttpd,因为我们用的是nginx,所以都不用选择,直接确认。

此时,你会发现直接访问http://localhost/phpmyadmin无法使用,

这时我们需要建立一个软连接,执行下面的命令

#sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html/

或者你把phpmyadmin直接复制到 /var/www/的文件夹下面也可以。

发表评论

电子邮件地址不会被公开。 必填项已用*标注