LINUX搭建PHP5.4+Nginx1.3.9+Mysql5.5.21

110 篇文章 1 订阅
104 篇文章 9 订阅

本文演示如何在Centos6.3下搭建PHP5.4.1+Nginx1.3.9+Mysql5.5.21,实现web服务器的功能。

操作环境:

系统:Centos6.3

系统用户:Root

目的:搭建LNMP环境

安装依赖库和开发环境

  1. #依赖库和开发工具   
  2. yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel 
  3. libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses
  4.  ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel 
  5. openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients 
  6. openldap-servers  cmake-*  wget   
  7.   
  8. #Nginx   
  9. yum -y install pcre-devel  zlib-devel   
  10.   
  11. #Php   
  12. yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel
  13. #Mysql   
  14. yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel  

下载软件包

  1. #创建目录   
  2. mkdir /web   
  3. cd /web   
  4.   
  5. #PHP5.4.1 
  6. wget http://cn.php.net/distributions/php-5.4.1.tar.bz2   
  7.   
  8. #PHP库文件   
  9. wget http://ncu.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz   
  10. wget http://ncu.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz   
  11. wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz   
  12.   
  13. #Nginx1.0.9   
  14. wget http://www.nginx.org/download/nginx-1.3.9.tar.gz   
  15.   
  16. #Nginx(pcre)   
  17. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.13.tar.gz   
  18.   
  19. #Mysql5.5.21   
  20. wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.21.tar.gz/from/http://mysql.ntu.edu.tw/  

安装Mysql

  1. #添加mysql用户   
  2. /usr/sbin/groupadd mysql   
  3. /usr/sbin/useradd -g mysql mysql   
  4. mkdir -p /data/mysql   
  5. mkdir -p /usr/local/supper   
  6. chown -R mysql:mysql /data/mysql   
  7.   
  8. #安装Mysql   
  9. tar -zxvf mysql-5.5.21.tar.gz   
  10. cd mysql-5.5.21   
  11. cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/supper/mysql \   
  12. -DSYSCONFDIR=/etc  \   
  13. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \   
  14. -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci   
  15. -DEXTRA_CHARSETS=all \   
  16. -DWITH_MYISAM_STORAGE_ENGINE=1  \   
  17. -DWITH_INNOBASE_STORAGE_ENGINE=1  \   
  18. -DWITH_MEMORY_STORAGE_ENGINE=1  \   
  19. -DWITH_READLINE=1  \   
  20. -DENABLED_LOCAL_INFILE=1   \   
  21. -DMYSQL_DATADIR=/data/mysql  \   
  22. -DMYSQL_USER=mysql -DWITH_DEBUG=0   
  23. #设置Mysql   
  24. #在support-files目录中有五个配置信息文件:   
  25. #my-small.cnf (内存<=64M)   
  26. #my-medium.cnf (内存 128M)   
  27. #my-large.cnf (内存 512M)   
  28. #my-huge.cnf (内存 1G-2G)   
  29. #my-innodb-heavy-4G.cnf (内存 4GB)   
  30. cd /usr/local/mysql   
  31. cp ./support-files/my-medium.cnf /etc/my.cnf   
  32. vi /etc/my.cnf   
  33. #在 [mysqld] 段增加   
  34. datadir = /data/mysql   
  35. wait-timeout = 30   
  36. max_connections = 512   
  37. default-storage-engine = MyISAM   
  38. #在 [mysqld] 段修改   
  39. max_allowed_packet = 16M   
  40.   
  41. #生成授权表   
  42. cd /usr/local/supper/mysql   
  43. ./scripts/mysql_install_db --user=mysql   
  44.   
  45. #更改密码   
  46. /usr/local/supper/mysql/bin/mysqladmin -u root password 123456   
  47.   
  48. #开启mysql   
  49. /usr/local/supper/mysql/bin/mysqld_safe &   
  50.   
  51. #测试连接mysql   
  52. /usr/local/supper/mysql/bin/mysql -u root -p 123456   
  53. show databases;   
  54. exit;   
  55.   
  56. #设置开机启动   
  57. vi /etc/rc.d/rc.local  
  58.   
  59. #加入   
  60. /usr/local/supper/mysql/bin/mysqld_safe &  

安装PHP

  1. #1   
  2. tar -zxvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8/   
  3. ./configure &&  make && make install   
  4. /sbin/ldconfig && cd libltdl/ && ./configure --enable-ltdl-install   
  5. make && make install && cd ../   
  6.   
  7. #2   
  8. tar -zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9/ && ./configure   
  9. make && make install && cd ../   
  10.   
  11. #3   
  12. ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la   
  13. ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so   
  14. ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4   
  15. ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8   
  16. ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a   
  17. ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la   
  18. ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so   
  19. ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2   
  20. ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1   
  21. ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config   
  22.   
  23. #4   
  24. tar -zxvf mcrypt-2.6.8.tar.gz &&cd mcrypt-2.6.8/   
  25. /sbin/ldconfig   
  26. ./configure   
  27. make && make install && cd ../   
  28.   
  29. #5   
  30. tar -xjvf php-5.4.1.tar.bz2   
  31. cd php-5.3.8   
  32.   
  33. ./configure --prefix=/usr/local/php \   
  34. --with-config-file-path=/usr/local/supper/php/etc \   
  35. --with-freetype-dir \   
  36. --with-mysql=/usr/local/supper/mysql \   
  37. --with-mysqli=/usr/local/supper/mysql/bin/mysql_config \   
  38. --with-jpeg-dir --with-png-dir --with-zlib \   
  39. --with-mhash --enable-sockets --enable-ftp \   
  40. --with-libxml-dir --enable-xml --disable-rpath \   
  41. --enable-safe-mode --enable-bcmath \   
  42. --enable-shmop --enable-sysvsem \   
  43. --enable-inline-optimization --with-curl \   
  44. --with-curlwrappers \   
  45. --enable-mbregex \   
  46. --enable-mbstring --with-mcrypt --with-gd \   
  47. --enable-gd-native-ttf --with-openssl --with-mhash \   
  48. --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl \   
  49. --enable-fpm \   
  50. --with-xmlrpc --enable-zip --enable-soap \   
  51. --without-pear \   
  52.   
  53. make ZEND_EXTRA_LIBS='-liconv'   
  54.   
  55. #注意这里容易出现 make: *** [ext/phar/phar.php] 错误 127   
  56. #出现mysql client解决方法   
  57. #ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/   
  58. #ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18   
  59. #或者chmod: 无法访问 “ext/phar/phar.phar”: 没有那个文件或目录   
  60. #make: [ext/phar/phar.phar] 错误 1 (忽略)   
  61. #解决方法在编译的时候加--without-pear参数   
  62. #如果还不行,make的时候不添加 ZEND_EXTRA_LIBS='-liconv' 参数   
  63.   
  64. make install   
  65.   
  66. #选择PHP.ini配置文件   
  67. cp php.ini-production /usr/local/php/etc/php.ini  

更改PHP-FPM

  1. #添加WWW用户   
  2. /usr/sbin/groupadd www   
  3. /usr/sbin/useradd -g www www   
  4. mkdir -p /var/log/nginx   
  5. chmod +w /var/log/nginx   
  6. chown -R www:www /var/log/nginx   
  7. mkdir -p /data/www   
  8. chmod +w /data/www   
  9. chown -R www:www /data/www   
  10. cp etc/php-fpm.conf.default /etc/php-fpm.conf   
  11. vim /usr/local/php/etc/php-fpm.conf   
  12.   
  13. #去掉/更改 配置文件中的;   
  14. pm.max_children = 64   
  15. pm.start_servers = 20   
  16. pm.min_spare_servers = 5   
  17. pm.max_spare_servers = 35   
  18. pm.max_requests = 1024   
  19. user = www   
  20. group = www   
  21.   
  22. #检查语法是否正确   
  23. /usr/local/supper/php/sbin/php-fpm -t   
  24. #出现NOTICE: configuration file /etc/php-fpm.conf test is successful 测试成功   
  25. /usr/local/supper/php/sbin/php-fpm &   
  26. #设置开机启动   
  27. vim /etc/rc.d/rc.local  
  28. #在行末加入   
  29. /usr/local/supper/php/sbin/php-fpm &   
  30.   
  31. #返回安装包目录   
  32. cd /web  

安装Nginx

  1. #安装pcre库   
  2. tar -zxvf pcre-8.13.tar.gz && cd pcre-8.13/ && ./configure   
  3. make && make install && cd ../   
  4.   
  5. #安装Nginx   
  6. tar -zxvf nginx-1.0.9.tar.gz && cd nginx-1.0.9 &&   
  7. ./configure --user=www --group=www \   
  8. --prefix=/usr/local/supper/nginx \   
  9. --sbin-path=/usr/local/supper/nginx/sbin/nginx \   
  10. --conf-path=/usr/local/supper/nginx/conf/nginx.conf \   
  11. --with-http_stub_status_module \   
  12. --with-http_ssl_module \   
  13. --with-pcre \   
  14. --lock-path=/var/run/nginx.lock \   
  15. --pid-path=/var/run/nginx.pid   
  16.   
  17. make && make install && cd ../   
  18.   
  19. #更改配置   
  20. vim /usr/local/supper/nginx/conf/nginx   
  21.   
  22. #修改一些参数,别直接替换文件,这只是一部分   
  23. user www   
  24.   
  25. events {   
  26. use epoll;   
  27. worker_connections  1024;   
  28. }   
  29.   
  30. location ~ \.php$ {   
  31. root           html;   
  32. fastcgi_pass   127.0.0.1:9000;   
  33. fastcgi_index  index.php;   
  34. fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;   
  35. include        fastcgi_params;   
  36. }   
  37.   
  38. #注意这里   
  39. #$document_root$fastcgi_script_name;   
  40. #检测配置文件   
  41. /usr/local/nginx/sbin/nginx -t   
  42.   
  43. #提示表示成功   
  44. #nginx: the configuration file /usr/local/supper/nginx/conf/nginx syntax is ok   
  45. #nginx: configuration file /usr/local/supper/nginx/conf/nginx test is successful   
  46.   
  47. #开启Nginx   
  48. /usr/local/supper/nginx/sbin/nginx &   
  49. #平滑重启Nginx   
  50. /usr/local/supper/nginx/sbin/nginx -s reload   
  51.   
  52. #添加开机启动   
  53. vi /etc/rc.d/rc.local  
  54. #最后移行加入   
  55. /usr/local/supper/nginx/sbin/nginx   
  56.   
  57. #测试   
  58. cd /usr/local/supper/nginx/html/   
  59. touch index.php   
  60. vi /usr/local/supper/nginx/html/index.php   
  61. <?php   
  62. phpinfo();   
  63. ?>  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值