设为首页 收藏本站
查看: 968|回复: 0

[经验分享] linux搭建nginx+php+mysql环境

[复制链接]

尚未签到

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

  •   yum install gcc
  •   yum install gcc-c++
  2>【开放80、3306、22端口】
  [html] 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】
  [html] 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】
  [html] 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】
  [html] view plaincopy

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

  •   tar -zxvf zlib-1.2.3.tar.gz
  •   cd zlib-1.2.3
  •   ./configure
  •   make
  •   make install
  8>【安装libpng】
  [html] 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】
  [html] 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: *** [jcapimin.lo] 错误 127
  
./libtool --mode=compile gcc -O2  -I. -c ./cjpeg.c
  
make: ./libtool:命令未找到
  
make: *** [cjpeg.lo] 错误 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】
  [html] 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】
  [html] view plaincopy

  •   tar -zxvf autoconf-2.61.tar.gz
  •   cd autoconf-2.61
  •   ./configure
  •   make
  •   make install
  12>【安装gd】
  [html] 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】
  [html] view plaincopy

  •   tar -zxvf pcre-8.10.tar.gz
  •   cd pcre-8.10
  •   ./configure
  •   make
  •   make install
  14>【安装openssl】
  [html] 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】
  [html] 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】
  [html] 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】
  [html] 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】
  [html] 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配置】
  [html] view plaincopy

  •   vi /usr/local/nginx/conf/nginx.conf
  •   #在server下找到location / 修改解析PHP文件存放的路径, 修改为:
  •   location / {
  •   root   /var/www/html;
  •   index  index.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_index  index.php;
  •   fastcgi_param  SCRIPT_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重写
  [html] 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_index  index.php;
  •   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
  •   include        fastcgi_params;
  •   }
  •   }
  #带url重写(zend framework)
  [html] 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_param  SCRIPT_FILENAME    $document_root/index.php;
  •   #fastcgi_param REQUEST_URI $document_uri?$query_string;
  •   fastcgi_read_timeout 120;
  •   fastcgi_pass  127.0.0.1:9000;
  •   fastcgi_index index.php;
  •   }
  •   }
  [html] view plaincopy

  •   #重启nginx
  •   /usr/local/nginx/sbin/nginx -s reload
  •   #重启php
  •   /usr/local/php/sbin/php-fpm restart



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-620250-1-1.html 上篇帖子: MySQL5.6 备份之mysqldump(一) 下篇帖子: 开启mysql远程访问方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表