当前位置:首页 > LNMP源码安装详细笔记(Linux+Nginx+Mysql+php)
LNMP安装笔记
环境: mysql-5.1.59.tar.gz
pcre-8.12.tar.gz nginx-1.1.6.tar.gz
php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz 首先安装编译环境
yum –y install gcc gcc-c++ autoconf automake一般装完系统的都会有的 然后安装Nginx需要的一些库文件
Yum –y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 如果装系统的时候安装了开发库,,这些装完系统就会有的
不过系统自带的pcre版本比较老,需要重新安装一下新的版本 1.首先安装Mysql
Tar –zxvf mysql-5.1.59.tar.gz
./configure –prefix=/usr/local/mysql –with-charset=gbk –with-xcharset=all Make && make install Useradd mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql chown -R mysql /usr/local/mysql/var /usr/local/mysql/bin/mysqld_safe &
/usr/local/mysql/bin/mysqladmin -u root password 123456
Cp support-files/my-medium.cnf /etc/my.cnf Vim /etc/my.cnf 在[client]下面加入
default-character-set=utf8
这样Mysql就能完全支持中文了
echo \2.安装Nginx
安装Nginx之前,需要重新安装一下PRCE Tar –zxvf pcre-8.12.tar.gz ./configure
Make && make install 开始安装Nginx
Tar –zxvf nginx-1.1.6.tar.gz
./configure –prefix=/usr/local/nginx Make && make install
echo \
这个时候Nginx就装好了,打开http://localhost测试
出现Welcome to nginx!
表示安装成功! 3.安装PHP
需要的库文件
Libpng jpeg pegsrc.v7 freetype fontconfig gd
这些库文件包括对应的devel开发库也是需要装的,因为我装系统的时候装了开发库,所以这些库文件都已经装好了,下面我们开始装PHP
这个地方是最重要的地方,因为默认情况下Nginx和PHP他俩之间是一点感觉没有的。在之前,很多朋友都搭建过Apache+PHP,Apache+PHP编译后生成的是模块文件,而Nginx+PHP需要PHP生成可执行文件才可以,所以要利用fastcgi技术来实现N ginx与PHP的整合,这个只要我们安装是启用FastCGI即可。此次我们安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个管理FastCGI的一个管理器,它作为PHP的插件纯在,在安装PHP要想使用PHP-FPM时就需要把PHP-FPM以补丁的形式安装到PHP中,而且PHP要与PHP-FPM版本一致,这是必须的,切记! 以上红色字体为引用的 首先解压php-5.2.17.tar.gz
Tar –zxvf php-5.2.17.tar.gz
Gzip –cd hp-5.2.17-fpm-0.5.14.diff.gz | patch –d php-5.2.17 –p1 //将php-5.2.17-fpm-0.5.14.diff.gz以补丁形式加到php-5.2.17里面 Cd php-5.2.17
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm Make && make install
cp php.ini-dist /usr/local/php/lib/php.ini //因为编译的时候没有指定php的配置文件,默认的php配置文件是/usr/local/php/lib/php.ini vim /usr/local/php/etc/php-fpm.conf //编辑改文件,把
这两行的注释取消,如果不去掉PHP-FPM自己不知道以那个用户和组运行PHP
去掉之后PHP-FPM会以nobody用户和组去运行PHP。 /usr/local/php/sbin/php-fpm start 启动php
Echo “/usr/local/php/sbin/php-fpm start” >> /etc/rc.local 4.整合Nginx和php
Nginx自己是不处理动态网页的请求,它将得到的动态请求都交给php来处理,现在Nginx和php其实还是没有关联的,这时就需要修改Nginx的配置来让他关联php Vim /uar/local/nginx/conf/nginx.conf location ~ \\.php$ {
root html;
fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; }
把以上一段的注释去掉,就告诉了Nginx遇到URL路径是以php结尾的都通过9000端口转交给php去处理
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name /var/www/html就是我们存放网站的路径
我们去看一下PHP是通过什么接收的 Vim /usr/local/php/etc/php-fpm.conf 有这么一行
可以看出php也是通过本地的9000端口来接收数据的, 至此,安装完成,下面测试 首先测试一下刚才修改Nginx的配置文件有没有问题 /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 出现 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 说明配置文件写的没问题,然后查看Nginx的主进程号是多少 通过ps -aux | grep nginx可以看出来进程号是10504 然后我们通过kill –HUP 10504来重启Nginx 接下来重启php /usr/local/php/sbin/php-fpm stop /usr/local/php/sbin/php-fpm start 最后编辑一个php文件来测试 Vim /var/www/html/index.php 保存之后访问http://localhost/index.php 出现如上界面,测试成功!
共分享92篇相关文档