西湖鱼 发表于 2018-12-22 15:00:26

LNMP(Linux+Nginx+Mysql+php)安装笔记

  环境: 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.首先安装MysqlTar –zxvf mysql-5.1.59.tar.gz./configure –prefix=/usr/local/mysql –with- –with-xcharset=allMake && make installUseradd mysql/usr/local/mysql/bin/mysql_install_db --user=mysqlchown -R mysql /usr/local/mysql/var/usr/local/mysql/bin/mysqld_safe &/usr/local/mysql/bin/mysqladmin -u root password 123456Cp support-files/my-medium.cnf /etc/my.cnfVim /etc/my.cnf在下面加入default-character-set=utf8这样Mysql就能完全支持中文了echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local2.安装Nginx安装Nginx之前,需要重新安装一下PRCETar –zxvf pcre-8.12.tar.gz./configureMake && make install开始安装NginxTar –zxvf nginx-1.1.6.tar.gz./configure –prefix=/usr/local/nginxMake && make installecho "/usr/local/nginx/sbin/nginx" >>/etc/rc.local这个时候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.gzTar –zxvf php-5.2.17.tar.gzGzip –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-fpmMake && make installcp php.ini-dist /usr/local/php/lib/php.ini   //因为编译的时候没有指定php的配置文件,默认的php配置文件是/usr/local/php/lib/php.inivim /usr/local/php/etc/php-fpm.conf   //编辑改文件,把nobodynobody这两行的注释取消,如果不去掉PHP-FPM自己不知道以那个用户和组运行PHP去掉之后PHP-FPM会以nobody用户和组去运行PHP。/usr/local/php/sbin/php-fpm start 启动phpEcho “/usr/local/php/sbin/php-fpm start” >> /etc/rc.local4.整合Nginx和phpNginx自己是不处理动态网页的请求,它将得到的动态请求都交给php来处理,现在Nginx和php其实还是没有关联的,这时就需要修改Nginx的配置来让他关联phpVim /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有这么一行127.0.0.1:9000可以看出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 oknginx: 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出现php解析成功页面,测试成功!
页: [1]
查看完整版本: LNMP(Linux+Nginx+Mysql+php)安装笔记