升木 发表于 2018-10-11 09:59:39

linux搭建nginx+php+mysql环境

  linux下nginx+php+mysql环境搭建
  ++++++++++++++++++++++++++++++++++++++++++++++
  操作系统    :
  服务器     :
  PHP      :
  数据库     :
  ++++++++++++++++++++++++++++++++++++++++++++++
  准备安装软件(download)
  1>
  http://nginx.org/download/nginx-1.1.8.tar.gz
  2>
  http://museum.php.net/php5/php-5.2.6.tar.gz
  3>
  http://php-fpm.org/downloads/php-5.2.6-fpm-0.5.8.diff.gz
  4>
  http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.59.tar.gz
  5>
  http://download.chinaunix.net/down.php?id=28491&ResourceID=6095&site=1
  6>
  http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
  7>
  http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz/download
  8>
  http://files.directadmin.com/services/custombuild/libpng-1.2.31.tar.gz
  9>
  http://download.chinaunix.net/down.php?id=10021&ResourceID=5095&site=1
  10>yum install freetype-devel
  
  http://nongnu.askapache.com/freetype/freetype-2.3.5.tar.gz
  11>
  http://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz
  12>yum install gd-devel
  
  http://code.google.com/p/google-desktop-for-linux-mirror/downloads/detail?name=gd-2.0.35.tar.gz&can=2&q=
  13>
  http://ftp.gnu.org/gnu/ncurses/ncurses-5.6.tar.gz
  14>
  http://sourceforge.net/projects/pcre/files/pcre/8.10/pcre-8.10.tar.gz/download
  15>
  http://www.openssl.org/source/openssl-1.0.0e.tar.gz
  +++++++++++++++++++++++++++++++++++++++++++++
  1>【安装gcc, gcc-c++】
   view plaincopy

[*]  yum install gcc
[*]  yum install gcc-c++
  2>【开放80、3306、22端口】
   view plaincopy

[*]  #关闭防火墙
[*]  service iptables stop
[*]  vi /etc/sysconfig/iptables
[*]  #添加
[*]  -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
[*]  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[*]  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
[*]  #重启防火墙
[*]  service iptables restart
  3>【建立lamp/src目录, 将源码包上传】
  4>【安装libxml2】
   view plaincopy

[*]  tar -zxvf libxml2-2.6.30.tar.gz
[*]  cd libxml2-2.6.30
[*]  ./configure --prefix=/usr/local/libxml2/
[*]  make
[*]  make install
  5>【安装libmcrypt】
   view plaincopy

[*]  tar -zxvf libmcrypt-2.5.8.tar.gz
[*]  cd libmcrypt-2.5.8
[*]  ./configure --prefix=/usr/local/libmcrypt/ --enable-ltdl-install
[*]  make
[*]  make install
  6>【安装libxml2-devel】
   view plaincopy

[*]  yum install libxml2-devel
  7>【安装zlib】
   view plaincopy

[*]  tar -zxvf zlib-1.2.3.tar.gz
[*]  cd zlib-1.2.3
[*]  ./configure
[*]  make
[*]  make install
  8>【安装libpng】
   view plaincopy

[*]  tar -zxvf libpng-1.2.31.tar.gz
[*]  cd libpng-1.2.31
[*]  ./configure --prefix=/usr/local/libpng/
[*]  make
[*]  make install
  9>【安装jpegsrc.v6b】
   view plaincopy

[*]  mkdir /usr/local/jpeg6
[*]  mkdir /usr/local/jpeg6/bin
[*]  mkdir /usr/local/jpeg6/lib
[*]  mkdir /usr/local/jpeg6/include
[*]  mkdir -p /usr/local/jpeg6/man/man1
[*]
[*]  tar -zxvf jpegsrc.v6b.tar.gz
[*]  cd jpeg-6b
  问题描述:
make;  
make install
  
./libtool --mode=compile gcc -O2-I. -c ./jcapimin.c
  
make: ./libtool:命令未找到
  
make: *** 错误 127
  
./libtool --mode=compile gcc -O2-I. -c ./cjpeg.c
  
make: ./libtool:命令未找到
  
make: *** 错误 127
  解决办法:
  首先看有没有安装libtool
  rpm   -qa | grep   libtool
  如果没有安装执行以下指令安装:
#ubuntu  
sudo apt-get install libtool
  
#centos
  
yum install libtool
  然后进入jpeg-6b的源码目录,然后执行以下步骤,切记!COPY到当前目录注意后面的点(./)
  cp   /usr/share/libtool/config/config.sub./
  cp   /usr/share/libtool/config/config.guess./
  也就是把 libtool里面的两个配置文件拿来覆盖掉jpeg-6b目录下的对应文件
  make clean 再重新configure
  没有权限的时候先建立对应的文件夹,再次make install就行了

[*]  ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[*]  make
[*]  make install
  10>【安装freetype】
   view plaincopy

[*]  tar -zxvf freetype-2.3.5.tar.gz
[*]  cd freetype-2.3.5
[*]  ./configure --prefix=/usr/local/freetype/
[*]  make
[*]  make install
  11>【安装autoconf】
   view plaincopy

[*]  tar -zxvf autoconf-2.61.tar.gz
[*]  cd autoconf-2.61
[*]  ./configure
[*]  make
[*]  make install
  12>【安装gd】
   view plaincopy

[*]  tar -zxvf gd-2.0.35.tar.gz
[*]  cd gd-2.0.35
[*]  ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
[*]  make
[*]  make install
  13>【pcre-8.10】
   view plaincopy

[*]  tar -zxvf pcre-8.10.tar.gz
[*]  cd pcre-8.10
[*]  ./configure
[*]  make
[*]  make install
  14>【安装openssl】
   view plaincopy

[*]  tar -zxvf openssl-1.0.0e.tar.gz
[*]  cd openssl-1.0.0e
[*]  ./config --prefix=/usr/local/openssl
[*]  make
[*]  make install
  15>【安装nginx】
   view plaincopy

[*]  groupadd www
[*]  useradd -g www www
[*]  tar -zxvf nginx-1.1.8.tar.gz
[*]  cd nginx-1.1.8
[*]  ./configure --user=www --group=www --prefix=/usr/local/nginx --with-openssl=/lamp/src/openssl-1.0.0e --with-http_stub_status_module --with-http_ssl_module
[*]  make
[*]  make install
  16>【安装ncurses】
   view plaincopy

[*]  tar -zxvf ncurses-5.6.tar.gz
[*]  cd ncurses-5.6
[*]  ./configure --with-shared --without-debug --without-ada --enable-overwrite
[*]  make
[*]  make install
  17>【安装mysql】
   view plaincopy

[*]  groupadd mysql
[*]  useradd -g mysql mysql
[*]  tar -zxvf mysql-5.1.59.tar.gz
[*]  cd mysql-5.1.59
[*]  ./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
[*]  make
[*]  make install
[*]
[*]  cp support-files/my-medium.cnf /etc/my.cnf
[*]  /usr/local/mysql/bin/mysql_install_db --user=mysql
[*]  chown -R root /usr/local/mysql
[*]  chown -R mysql /usr/local/mysql/var
[*]  chgrp -R mysql /usr/local/mysql
[*]
[*]  /usr/local/mysql/bin/mysqld_safe--user=mysql &
[*]  cp /lamp/src/mysql-5.1.59/support-files/mysql.server /etc/rc.d/init.d/mysqld
[*]  chown root.root /etc/rc.d/init.d/mysqld
[*]  chmod 755 /etc/rc.d/init.d/mysqld
[*]  chkconfig --add mysqld
[*]  chkconfig --list mysqld
[*]  chkconfig --levels 245 mysqld off
[*]
[*]  #配置mysql
[*]  cd /usr/local/mysql
[*]  #简单的测试
[*]  bin/mysqladmin version
[*]  #查看所有mysql参数
[*]  bin/mysqladmin Variables
[*]  #没有密码可以直接登录本机服务器
[*]  bin/mysql -uroot
[*]  DELETE FROM mysql.user WHERE Host='localhost' AND User='';
[*]  FLUSH PRIVILEGES;
[*]  #设置root密码为123456
[*]  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
[*]  #配置可远程连接mysql
[*]  use mysql
[*]  SELECT user,password,host FROM user;
[*]  DELETE FROM user WHERE host='localhsot.localdomain'
[*]  DELETE FROM user WHERE host='127.0.0.1';
[*]  UPDATE user SET host='%' WHERE user='root';
[*]  #重启mysql
[*]  service mysqld restart
  18>【安装php】
   view plaincopy

[*]  tar -zxvf php-5.2.6.tar.gz
[*]  gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1
[*]
[*]  cd php-5.2.6
[*]  ./configure --prefix=/data/apps/php/ --with-config-file-path=/data/apps/php/etc/ --with-mysql=/data/apps/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype --with-gd --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/data/apps/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --enable-fastcgi --enable-fpm
  ./configure --prefix=/data/apps/php/ --with-config-file-path=/data/apps/php/etc/ --with-mysql=/data/apps/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/ --with-gd --with-zlib --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/data/apps/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --enable-fpm --enable-xml --enable-json --enable-mbstring --enable-pdo --enable-xmlreader --enable-xmlwriter

[*]  make
[*]  make install
[*]  cp php.ini-dist /usr/local/php/etc/php.ini
[*]  #修改php-fpm.conf
[*]  vi /usr/local/php/etc/php-fpm.conf
[*]  #查找63,66行将注释去掉
[*]  nobody
[*]  nobody
[*]  #启动php
[*]  /usr/local/php/sbin/php-fpm start
  19>【nginx配置】
   view plaincopy

[*]  vi /usr/local/nginx/conf/nginx.conf
[*]  #在server下找到location / 修改解析PHP文件存放的路径, 修改为:
[*]  location / {
[*]  root   /var/www/html;
[*]  indexindex.html index.htm index.php;
[*]  }
[*]  #root表示虚拟目录设置为/var/www/html,增加默认解析index.php
[*]  #在server下找到location ~ /.php$ 修改php解释器FastCGI配置,修改为:
[*]  location ~ \.php$ {
[*]  root         /var/www/html;
[*]  fastcgi_pass   127.0.0.1:9000;
[*]  fastcgi_indexindex.php;
[*]  fastcgi_paramSCRIPT_FILENAME/var/www/html$fastcgi_script_name;
[*]  include      fastcgi_params;
[*]  }
[*]  #将nginx添加到自启动中
[*]  echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.d/rc.local
[*]  #将php添加到自启动中
[*]  echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.d/rc.local
  20>【nginx虚拟主机配置】
  vi /usr/local/nginx/conf/nginx.conf
  #在http最后一行加入
  include    /usr/local/nginx/conf/vhost/dev_localhost.config;
  #不带url重写
   view plaincopy

[*]  server {
[*]  listen 80 default;
[*]  server_name dev.localhost;
[*]  access_log logs/dev.access.log;
[*]
[*]
[*]  root /var/www/html/dev;
[*]
[*]
[*]  server_name_in_redirect off;
[*]
[*]
[*]  location / {
[*]  index index.html index.php;
[*]  }
[*]
[*]
[*]  location ~ \.php$ {
[*]  fastcgi_pass   127.0.0.1:9000;
[*]  fastcgi_indexindex.php;
[*]  fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name;
[*]  include      fastcgi_params;
[*]  }
[*]  }
  #带url重写(zend framework)
   view plaincopy

[*]  server {
[*]  listen 80;
[*]  server_name dev.localhost;
[*]  access_log logs/dev.access.log;
[*]
[*]  root   /var/www/html/dev/code/html;
[*]  location / {
[*]  index index.html index.php;
[*]
[*]
[*]  if (-e $request_filename ) {
[*]  break;
[*]  }
[*]
[*]  if ( $request_filename ~* \.(js|ico|gif|jpg|jpeg|xml|swf|txt|png|css|html|htm)$ ) {
[*]  return 404;
[*]  }
[*]
[*]  rewrite .* index.php;
[*]  }
[*]  location ~ .*\.php$ {
[*]  include fastcgi_params;
[*]  fastcgi_paramSCRIPT_FILENAME    $document_root/index.php;
[*]  #fastcgi_param REQUEST_URI $document_uri?$query_string;
[*]  fastcgi_read_timeout 120;
[*]  fastcgi_pass127.0.0.1:9000;
[*]  fastcgi_index index.php;
[*]  }
[*]  }
   view plaincopy

[*]  #重启nginx
[*]  /usr/local/nginx/sbin/nginx -s reload
[*]  #重启php
[*]  /usr/local/php/sbin/php-fpm restart


页: [1]
查看完整版本: linux搭建nginx+php+mysql环境