1. yum -y install wget make vim install gcc gcc-c++ ncurses ncurses-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre pcre-devel  zlip zlip-devel

新建软件安装目录

  1. mkdir /usr/local/webserver

php依赖库安装

libxml2(包含库和实用工具用于解析XML文件)

  1. tar zxvf libxml2-2.9.0.tar.gz -C /usr/local/webserver/
  2. cd /usr/local/webserver/libxml2-2.9.0
  3. ./configure
  4. make&&make install

libmcrypt(加密算法扩展库支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法)

  1. tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/local/webserver/
  2. cd /usr/local/webserver/libmcrypt-2.5.8
  3. ./configure
  4. make && make install

nginx安装

  1. tar zxvf nginx-1.5.9.tar.gz -C /usr/local/webserver/
  2. mv /usr/local/webserver/nginx-1.5.9  /usr/local/webserver/nginx
  3. cd /usr/local/webserver/nginx
  4. ./configure
  5. make && make install
  1. vi /etc/init.d/nginx
  1. #!/bin/sh
  2. #
  3. # nginx - this script starts and stops the nginx daemin
  4. #
  5. # chkconfig:   - 85 15
  6. # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
  7. #               proxy and IMAP/POP3 proxy server
  8. # processname: nginx
  9. # config:      /usr/local/nginx/conf/nginx.conf
  10. # pidfile:     /usr/local/nginx/logs/nginx.pid
  11. # Source function library.
  12. . /etc/rc.d/init.d/functions
  13. # Source networking configuration.
  14. . /etc/sysconfig/network
  15. # Check that networking is up.
  16. [ "$NETWORKING" = "no" ] && exit 0
  17. nginx="/usr/local/nginx/sbin/nginx"
  18. prog=$(basename $nginx)
  19. NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
  20. lockfile=/var/lock/subsys/nginx
  21. start() {
  22. [ -x $nginx ] || exit 5
  23. [ -f $NGINX_CONF_FILE ] || exit 6
  24. echo -n $"Starting $prog: "
  25. daemon $nginx -c $NGINX_CONF_FILE
  26. retval=$?
  27. echo
  28. [ $retval -eq 0 ] && touch $lockfile
  29. return $retval
  30. }
  31. stop() {
  32. echo -n $"Stopping $prog: "
  33. killproc $prog -QUIT
  34. retval=$?
  35. echo
  36. [ $retval -eq 0 ] && rm -f $lockfile
  37. return $retval
  38. }
  39. restart() {
  40. configtest || return $?
  41. stop
  42. start
  43. }
  44. reload() {
  45. configtest || return $?
  46. echo -n $"Reloading $prog: "
  47. killproc $nginx -HUP
  48. RETVAL=$?
  49. echo
  50. }
  51. force_reload() {
  52. restart
  53. }
  54. configtest() {
  55. $nginx -t -c $NGINX_CONF_FILE
  56. }
  57. rh_status() {
  58. status $prog
  59. }
  60. rh_status_q() {
  61. rh_status >/dev/null 2>&1
  62. }
  63. case "$1" in
  64. start)
  65. rh_status_q && exit 0
  66. $1
  67. ;;
  68. stop)
  69. rh_status_q || exit 0
  70. $1
  71. ;;
  72. restart|configtest)
  73. $1
  74. ;;
  75. reload)
  76. rh_status_q || exit 7
  77. $1
  78. ;;
  79. force-reload)
  80. force_reload
  81. ;;
  82. status)
  83. rh_status
  84. ;;
  85. condrestart|try-restart)
  86. rh_status_q || exit 0
  87. ;;
  88. *)
  89. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  90. exit 2
  91. esac

修改nginx脚本权限

  1. chmod +x /etc/init.d/nginx

添加到系统服务

  1. /sbin/chkconfig nginx on

mysql安装

  1. groupadd mysql
  2. useradd -r -g mysql mysql
  3. tar zxvf mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/webserver/
  4. mv /usr/local/webserver/mysql-5.6.16-linux-glibc2.5-x86_64 /usr/local/webserver/mysql
  5. ## ln -s /usr/local/webserver/mysql-5.6.16-linux-glibc2.5-x86_64 /usr/local/webserver/mysql
  6. cd /usr/local/webserver/mysql/
  7. chown -R mysql .
  8. chgrp -R mysql .
  9. scripts/mysql_install_db --user=mysql
  10. chown -R root .
  11. chown -R mysql data
  1. cp support-files/my-default.cnf /etc/my.cnf
  2. bin/mysqld_safe --user=mysql &

修改mysql.server脚本

  1. vi support-files/mysql.server
  1. basedir=
  2. datadir=
  3. 改为
  4. basedir=/usr/local/webserver/mysql
  5. datadir=/usr/local/webserver/mysql/data

配置启动脚本

  1. cp support-files/mysql.server /etc/init.d/mysqld

添加到环境变量

  1. vi ~/.bash_profile
  1. PATH=$PATH:$HOME/bin:/usr/local/webserver/mysql/bin

php安装

gd库安装

  1. tar zxvf gd-2.0.33.tar.gz
  2. cd gd-2.0.33
  3. ./configure --prefix=/usr/local/webserver/gd2/
  4. make && make install
  1. tar zxvf php-5.3.28.tar.gz -C /usr/local/webserver/
  2. mv /usr/local/webserver/php-5.3.28/ /usr/local/webserver/php
  3. cd /usr/local/webserver/php
  4. ./configure --enable-fpm --with-mysql=/usr/local/webserver/mysql/ --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-config-file-path=/usr/local/webserver/php/ --with-openssl --enable-mbstring --with-zlib --enable-xml --with-gd=/usr/local/webserver/gd2/ --with-jpeg-dir --enable-bcmath --with-mcrypt --with-iconv --enable-pcntl --enable-shmop --enable-simplexml --enable-ftp
  5. make && make install
  1. cp php.ini-development /usr/local/webserver/php/php.ini

配置php.ini

  1. vim php.ini
  1. ;date.timezone =
  2. 改为 date.timezone = prc

配置nginx.conf

  1. mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf_bak
  2. vim /usr/local/nginx/conf/nginx.conf
  1. user  root root;
  2. worker_processes  1;
  3. #error_log  logs/error.log;
  4. #error_log  logs/error.log  notice;
  5. #error_log  logs/error.log  info;
  6. #pid        logs/nginx.pid;
  7. events {
  8. worker_connections  1024;
  9. }
  10. http {
  11. include       mime.types;
  12. default_type  application/octet-stream;
  13. #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  14. #                  '$status $body_bytes_sent "$http_referer" '
  15. #                  '"$http_user_agent" "$http_x_forwarded_for"';
  16. #access_log  logs/access.log  main;
  17. sendfile        on;
  18. #tcp_nopush     on;
  19. #keepalive_timeout  0;
  20. keepalive_timeout  65;
  21. server {
  22. listen          80;
  23. server_name     192.168.51.33;
  24. root            /home/www;
  25. autoindex on;
  26. autoindex_exact_size off;
  27. autoindex_localtime on;
  28. #配置站点伪静态(此处配置好之后,需要在ecstore/config/config.php中修改“define('WITH_REWRITE',true);”)
  29. if ($request_uri ~ (.+?\.php)(|/.*)$ ){
  30. break;
  31. }
  32. if (!-e $request_filename) {
  33. rewrite ^/(.*)$ /index.php/$1 last;
  34. }
  35. location / {
  36. index  index.php index.html index.htm;
  37. }
  38. error_page   500 502 503 504  /50x.html;
  39. location = /50x.html {
  40. root   html;
  41. }
  42. location ~ \.php {
  43. include        fastcgi_params;
  44. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  45. #设置pathinfo
  46. set $path_info "";
  47. set $real_script_name $fastcgi_script_name;
  48. if ($fastcgi_script_name ~ "^(.+?.php)(/.+)?$") {
  49. set $script_name $1;
  50. set $path_info $2;
  51. }
  52. fastcgi_param SCRIPT_NAME $script_name;
  53. fastcgi_param PATH_INFO $path_info;
  54. fastcgi_pass   127.0.0.1:9000;
  55. fastcgi_index  index.php;
  56. }
  57. }
  58. # deny access to .htaccess files, if Apache's document root
  59. # concurs with nginx's one
  60. #
  61. #location ~ /\.ht {
  62. #    deny  all;
  63. #}
  64. # another virtual host using mix of IP-, name-, and port-based configuration
  65. #
  66. #server {
  67. #    listen       8000;
  68. #    listen       somename:8080;
  69. #    server_name  somename  alias  another.alias;
  70. #    location / {
  71. #        root   html;
  72. #        index  index.html index.htm;
  73. #    }
  74. #}
  75. # HTTPS server
  76. #
  77. #server {
  78. #    listen       443;
  79. #    server_name  localhost;
  80. #    ssl                  on;
  81. #    ssl_certificate      cert.pem;
  82. #    ssl_certificate_key  cert.key;
  83. #    ssl_session_timeout  5m;
  84. #    ssl_protocols  SSLv2 SSLv3 TLSv1;
  85. #    ssl_ciphers  HIGH:!aNULL:!MD5;
  86. #    ssl_prefer_server_ciphers   on;
  87. #    location / {
  88. #        root   html;
  89. #        index  index.html index.htm;
  90. #    }
  91. #}
  92. }

配置php.ini

  1. vi /usr/local/webserver/php/php.ini
  1. enable_dl = On
  2. cgi.force_redirect = 0
  3. cgi.fix_pathinfo=1
  4. fastcgi.impersonate = 1
  5. cgi.rfc2616_headers = 1
  6. allow_url_fopen = On

配置php-fpm启动脚本

  1. vi /etc/init.d/php-fpm
  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides:          php-fpm
  4. # Required-Start:    $remote_fs $network
  5. # Required-Stop:     $remote_fs $network
  6. # Default-Start:     2 3 4 5
  7. # Default-Stop:      0 1 6
  8. # Short-Description: starts php-fpm
  9. # Description:       starts the PHP FastCGI Process Manager daemon
  10. ### END INIT INFO
  11. prefix=/usr/local/
  12. php_fpm_BIN=${prefix}/sbin/php-fpm
  13. php_fpm_CONF=${prefix}/etc/php-fpm.conf
  14. php_fpm_PID=${prefix}/var/run/php-fpm.pid
  15. php_opts="--fpm-config $php_fpm_CONF"
  16. php_pid="--pid $php_fpm_PID"
  17. wait_for_pid () {
  18. try=0
  19. while test $try -lt 35 ; do
  20. case "$1" in
  21. 'created')
  22. if [ -f "$2" ] ; then
  23. try=''
  24. break
  25. fi
  26. ;;
  27. 'removed')
  28. if [ ! -f "$2" ] ; then
  29. try=''
  30. break
  31. fi
  32. ;;
  33. esac
  34. echo -n .
  35. try=`expr $try + 1`
  36. sleep 1
  37. done
  38. }
  39. case "$1" in
  40. start)
  41. echo -n "Starting php-fpm "
  42. $php_fpm_BIN $php_opts $php_pid
  43. if [ "$?" != 0 ] ; then
  44. echo " failed"
  45. exit 1
  46. fi
  47. wait_for_pid created $php_fpm_PID
  48. if [ -n "$try" ] ; then
  49. echo " failed"
  50. exit 1
  51. else
  52. echo " done"
  53. fi
  54. ;;
  55. stop)
  56. echo -n "Gracefully shutting down php-fpm "
  57. if [ ! -r $php_fpm_PID ] ; then
  58. echo "warning, no pid file found - php-fpm is not running ?"
  59. exit 1
  60. fi
  61. kill -QUIT `cat $php_fpm_PID`
  62. wait_for_pid removed $php_fpm_PID
  63. if [ -n "$try" ] ; then
  64. echo " failed. Use force-exit"
  65. exit 1
  66. else
  67. echo " done"
  68. fi
  69. ;;
  70. force-quit)
  71. echo -n "Terminating php-fpm "
  72. if [ ! -r $php_fpm_PID ] ; then
  73. echo "warning, no pid file found - php-fpm is not running ?"
  74. exit 1
  75. fi
  76. kill -TERM `cat $php_fpm_PID`
  77. wait_for_pid removed $php_fpm_PID
  78. if [ -n "$try" ] ; then
  79. echo " failed"
  80. exit 1
  81. else
  82. echo " done"
  83. fi
  84. ;;
  85. restart)
  86. $0 stop
  87. $0 start
  88. ;;
  89. reload)
  90. echo -n "Reload service php-fpm "
  91. if [ ! -r $php_fpm_PID ] ; then
  92. echo "warning, no pid file found - php-fpm is not running ?"
  93. exit 1
  94. fi
  95. kill -USR2 `cat $php_fpm_PID`
  96. echo " done"
  97. ;;
  98. *)
  99. echo "Usage: $0 {start|stop|force-quit|restart|reload}"
  100. exit 1
  101. ;;
  102. esac

脚本执行权限

  1. cd /usr/local/etc && cp php-fpm.conf.default php-fpm.conf
  2. chmod +x /etc/init.d/php-fpm

设置开机启动

  1. /sbin/chkconfig php-fpm on

/******下面是ecstore所需******/

ZendGuard安装

  1. tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/local/webserver/
  2. mv /usr/local/webserver/ZendGuardLoader-php-5.3-linux-glibc23-x86_64 /usr/local/webserver/ZendGuardLoader
  3. cd /usr/local/webserver/ZendGuardLoader
  4. cp php-5.3.x/ZendGuardLoader.so /usr/local/webserver/php/ext/

配置php.ini

  1. vi /usr/local/webserver/php/php.ini
    1. [Zend Guard]
    2. ;/usr/local/webserver/php/ext/ZendGuardLoader.so  这个是你当时指定的zend的目录
    3. zend_extension=/usr/local/webserver/php/ext/ZendGuardLoader.so
    4. zend_loader.enable=1
    5. zend_loader.disable_licensing=0
    6. zend_loader.obfuscation_level_support=3
    7. zend_loader.license_path=

Linux 下的php,nginx,mysql的安装的更多相关文章

  1. linux下导入、导出mysql数据库命令 下载文件到本地

    一.下载到本地 yum install lrzsz sz filename  下载 rz filename  上传   linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命 ...

  2. ubuntu下的apache+php+mysql的安装

    平时我都时在windows下搭配apache+php+mysql环境的,只不过后来听别人说在linux下搭配apache+php+mysql更受欢迎,而且一般公司也是用这样的搭配,所以今天在试着在ub ...

  3. Linux下beego及beego相关插件安装

    Linux下beego及beego相关插件安装 1.下载及配置go环境看见链接: http://golang.org/dl/ 网盘:链接: https://pan.baidu.com/s/1MveUM ...

  4. Linux下以tar包的形式安装mysql8.0.28

    Linux下以tar包的形式安装mysql8.0.28 1.首先卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉) rpm -qa | grep -i -E mysql\|mar ...

  5. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  6. VMware Linux下拖拽补丁vmtools的安装和卸载

    Linux下拖拽补丁vmtools的安装和卸载 by:授客 QQ:1033553122 Vmware 8.0.4为例子 步骤1.VM->Install Vmware Tools... 步骤2.查 ...

  7. Linux下 rz 和 sz 命令的安装与使用

    目录 Linux下 rz 和 sz 命令的安装与使用 rz/sz命令的安装 sz命令-发送文件到本地(下载): rz命令-本地上传文件到服务器(上传): 声明 Linux下 rz 和 sz 命令的安装 ...

  8. linux下应用crontab对mysql数据库进行定时备份

    linux下应用crontab对mysql数据库进行定时备份 @(编程) mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份. 我写了一个mysqlbackup. ...

  9. Linux下Apache2.2和PHP5的安装配置

    Linux下Apache2.2和PHP5的安装配置 环境介绍 我安装使用的Linux版本为CentOS6.5最精简版,Apache为2.2.29,PHP版本为5.4.28. 系统安装 首先安装Cent ...

随机推荐

  1. 虚拟机环境中安装ubuntu下的mysql-cluster7.3.2(单点服务器)

      部署环境: 系统:ubuntu-12.04.2 LTS -server-i386.iso Cluster:mysql-cluster-gpl-7.3.2-linux-glibc23-i686.ta ...

  2. Ubuntu 系统 文件操作命令

    文件和目录的操作 用户主目录下有一个 Desktop (对应,桌面)mkdir dir1 建立一个目录cd 不添加参数,默认回到主目录(用户目录)touch a.txt 建立一个文件mv a.txt ...

  3. Unity 切割导出精灵

    Unity中经常使用到精灵,尤其是2D游戏中制作动画等!今天我们就学习下精灵的切割和导出吧! 废话不多说,先建议空的工程. 1,打开Unity建工程. 2 导入素材进行资源分类,工程不在于大小,这是我 ...

  4. android——使用自带录屏工具进行屏幕录像

    在做开源项目的时候,想传一个gif效果图上去.但是,要有连贯的动画效果.所以,就想到先录制视频,然后视频转gif.但是,用第三录屏软件总是不完美. 那么,怎么办呢? android4.4 提供了自带录 ...

  5. MVC View基础(转)

    View主要用于呈现数据.由于Controller和相关的Service已经处理完业务逻辑并将结果打包成model实体,View只需要怎么去获得model并将其转为Html 1选择需要渲染的视图 在上 ...

  6. shell脚本例子

    #!/bin/sh   str="####" echo $1 | grep $str 1>/dev/null if [ `echo $?` -eq 0 ] then   ec ...

  7. C# 操作系统防火墙

    很多时候,我们的程序是通过网络通信(如TCP或者UDP协议+端口),而将制作好的程序安装包给客户用时,发现会出现不能通信的现象(或者在这台电脑是可以的,却在另一台不可以),原因是防火墙阻止了,需要添加 ...

  8. c#窗体的传值方法

    了解了窗体的显示相关知识,接着总结一下窗体的传值方法:  .通过构造函数  特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中         int value1;  ...

  9. js 之 Post发送请求

    // ajax 对象 function ajaxObject() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new X ...

  10. 多加注意对null和“”的处理

    程序中对一些需要再次取值的引用类型参数,在引用之前,请千万注意对空的判断.当不清晰返回结果是null还是""时,应先判断null,再判断空字符串. LOFTER:我们的故事   h ...