基于CentOS 6.5的LNMP安装过程

记录一下,免得忘记。
1、安装nginx。
nginx-1.4.5。下载地址:
http://nginx.org/download/nginx-1.4.5.tar.gz

(安装之前需要确认是否已经存在pcre,如果没有直接yum安装。)
下载完毕并解压,创建用户www和用户组www
groupadd wwww  #添加www组
useradd-s /sbin/nologin-g www www  #添加www至www组,并设置不能登陆

开始安装:
./configure--user=www --group=www \  #以www用户执行nginx进程
--prefix=/var/app/nginx\    #指定安装目录
--with-http_stub_status_module #安装nginx状态查看模块
#配置完成后
make&& makeinstall

安装完毕,待会再配置nginx,接下来安装mysql。
2、安装mysql。
下载mysql,下载链接:
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.3-m13.tar.gz

从mysql5.5开始采用cmake替代configure配置,需要先安装cmake。为了避免编译报错,还需安装ncurses-devel。
添加mysql的用户组和用户,然后开始安装:
cmake -DCMAKE_INSTALL_PREFIX=/var/app/mysql\    ##配置默认安装路径
-DDEFAULT_CHARSET=utf8 \                          ## 配置默认数据库编码
-DDEFAULT_COLLATION=utf8_general_ci \              ##默认数据库整理编码
-DWITH_EXTRA_CHARSETS:STRING=utf8,gb2312,gbk \    ##扩展支持编码(all | utf8,gbk,gb2312 | none)
-DWITH_MYISAM_STORAGE_ENGINE=1 \                ##MYISAM存储引擎支持(1|0)
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                ##INNOBASE存储引擎支持(1|0)
-DWITH_MEMORY_STORAGE_ENGINE=1 \            ##MEMORY存储引擎支持(1|0)
-DWITH_READLINE=1 \                            ##快捷键功能
-DENABLED_LOCAL_INFILE=1 \                    ##允许从本地导入数据
-DMYSQL_DATADIR=/var/mysql/data\            ##数据存放路径
-DMYSQL_USER=mysql                  ##数据库启动用户
#配置完成后
make&& makeinstall

复制support-files下的my.cnf到/etc下,复制support-files下的mysql.server至/etc/init.d/mysqld,添加执行权限作为启动脚本。
初始化数据库
#进入mysql安装目录执行
./scripts/mysql_install_db--basedir=/var/app/mysql\    #指定mysql主目录
--datadir=/var/app/data\    #指定mysql数据存放目录,把此目录改变所有者为mysql的启动用户
--user=mysql    #指定mysql启动用户

等初始化成功后,开启mysql,为root用户设定密码:
/var/app/mysql/bin/mysqladmin-u root password "123123"

mysql安装完毕,启动服务:
/etc/init.d/mysqldstart

3、安装PHP
下载php,下载链接:
http://us1.php.net/get/php-5.3.28.tar.gz/from/this/mirror


安装php前要先安装好依赖包,直接yum安装比较快:
yum installgd gd-devel libxml2.x86_64 libxml2-devel.x86_64

开始安装:
#这些扩展根据需要选择安装。如果是基于nginx+php-fpm的,--enable-fpm 一定要写上
./configure--prefix=/var/app/php--with-config-file-path=/var/app/php/etc\
--with-mysql=/var/app/mysql--with-mysqli=/var/app/mysql/bin/mysql_config\
--with-freetype-dir--with-jpeg-dir--with-png-dir--with-gd  --enable-mbstring\
--with-zlib --with-libxml-dir=/usr--enable-xml --with-curl  --enable-zip\
--enable-sockets --with-mhash --enable-fpm
#配置成功后开始编译安装
make&& makeinstall

复制源码目录下的php.ini-production至/var/app/php/etc目录并重命名为php.ini,把/var/app/php/etc下的php-fpm.conf.default重命名为php-fpm.conf,修改以下内容:
vim php-fpm.conf
[www]
listen 127.0.0.1:9000 #设置接受请求的地址,在nginx.conf中会用到
listen.allowed_clients 127.0.0.1 #设允许连接到php-fpm的ip,每个地址是用逗号分隔.
listen.owner www #设置监听的用户
listen.group www #设置监听的组
listen.mode 0666 #设置Unix套接字的权限,读写权限必须设置
user www #进程运行的用户
group www #进程运行的用户组
pm dynamic #进程启动方式设置。可用值: static, dynamic
pm.max_children 15 #子进程的数量,pm设置为static时表示启动的进程数。pm设置为dynamic时表示最大进程数
pm.start_servers 15 #启动时的进程数。仅在pm设置为dynamic时使用。
pm.min_spare_servers 5 #最小进程数.仅在pm设置为dynamic时使用
pm.max_spare_servers 25 #最大进程数.仅在pm设置为dynamic时使用
pm.max_requests 500 #设置每个子进程重生之前服务的请求数.设置为 '0' 则一直接受请求.
#pm dynamic时进程计算公式:min_spare_servers+(max_spare_servers-min_spare_servers)/2

php-fpm简单配置结束,启动服务:
/var/app/php/php-fpm

修改nginx配置文件
vim /var/app/nginx/conf/nginx.conf
#简单修改下,来测试环境是否正确
user  webuser www;
server
{
listen      80;
server_name  127.0.0.1;
index index.html index.htm index.php;
root  /var/www/html;
location ~ .*\.php?$
{
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}

写一个php测试文件info.php
<?php
phpinfo();
?>

启动nginx服务
/var/app/nginx/sbin/nginx

打开站点查看是否有phpinfo页面。
安装到此完成。

相关阅读:

相关推荐