基于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页面。
安装到此完成。
相关阅读: