Nginx 的支持高并发, 强大的负载均衡, 低资源消耗 使它成为了 Linux web 服务端的首选, 尤其对于小内存的 VPS, 这点更为明显, 使它完胜 Apache.
下面就介绍 LNMP 的安装.
1. 准备工作
- 修改登录密码 : <<Linux 修改用户密码>>
- 修改时区及时间: <<修改 Linux 系统时区与时间>>
- 关闭多余 tty 通道 : <<CentOS 6 关闭多余tty通道>>
- 修改主机名: <<修改 Linux 主机名(hostname)>>
- 添加 yum 源并更新: <<CentOS 添加常用 yum 源>>
- 配置 iptables 防火墙, 开放必要端口: <<Linux vps iptables 防火墙配置>>
2. 安装 Nginx
列出 Nginx 的所有版本
1 |
yum list nginx |
可以看到目前最新的版本为 1.5.2
1 |
yum install nginx |
启动 Nginx
1 |
service nginx start |
设为开机启动
1 |
chkconfig --level 3 nginx on |
访问 vps 的域名或 ip, 如果显示 Welcome to nginx! 页面,表示安装成功.
Nginx 的网站根目录与 Apache 不同, 为 /usr/share/nginx/html
配置文件位于 /etc/nginx
3. 安装 mysql
这里与 LAMP 环境下的 mysql 安装是一样的. 参照 <<CentOS 安装 MySql>>
目前最新版本为 5.5.31
4. 安装 PHP
据网友测试, php 5.4 比 php 5.3 性能提高了 50% 以上, 所以这里推荐使用 php 5.4 及更新版本.
列出 php 的最新版本, 因为 webtatic 源通常是最新的, 所以我们只在 webtatic 里查找.
1 |
yum list --disablerepo=* --enablerepo=webtatic php* |
可以看到目前最新版本为 php 5.5, 但因为 Zend Guard Loader 目前只支持到 php 5.4, 所以我们安装 php 5.4 版本.
安装 php 5.4 及相关组件(根据自身需要增删)
这里, php54w-fpm 是用来与 Nginx 关联的模块, 因此是必须的, 这是与 LAMP 环境的区别
1 |
yum install php54w php54w-fpm php54w-bcmath php54w-cli php54w-common php54w-gd php54w-imap php54w-intl php54w-ldap php54w-mbstring php54w-mcrypt php54w-mysql php54w-odbc php54w-pdo php54w-pear php54w-pspell php54w-soap php54w-xml php54w-xmlrpc |
如果 httpd 服务启动了, 停用此服务.
1 2 |
service httpd stop chkconfig httpd off |
启动 php-fpm 服务
1 |
service php-fpm start |
配置 Nginx 使用 PHP-FPM
1 |
vi /etc/nginx/conf.d/default.conf |
找到以下内容
1 2 3 4 |
location / { root /usr/share/nginx/html; index index.html index.htm; } |
可修改 root 为其它目录
在 index 项中加入 index.php 类型
1 2 3 4 |
location / { root /usr/share/nginx/html; index index.html index.htm index.php; } |
去掉以下内容的注释
1 2 3 4 5 6 7 |
#location ~ .php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} |
修改 fastcgi_param 项, 将 /scripts 替换为 location 中的 root 内容, 即网站根目录
1 2 3 4 5 6 7 |
location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } |
保存退出
编辑 php.ini
1 |
vi /etc/php.ini |
这里将允许上传的最大值改为8M.
1 2 |
post_max_size = 8M upload_max_filesize = 8M |
设置开机启动
1 |
chkconfig --level 3 php-fpm on |
重启 Nginx 与 php-fpm 服务
1 2 |
service nginx restart service php-fpm restart |
在 /usr/share/nginx/html 中新建 phpinfo.php 文件
1 |
vi /usr/share/nginx/html/phpinfo.php |
1 2 3 |
<?php phpinfo(); ?> |
如能正确显示, 说明安装成功.