Processing math: 100%

linux下nginx+php+mysql环境搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

++++++++++++++++++++++++++++++++++++++++++++++
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>[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>[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

  1. yum install gcc  

  2. yum install gcc-c++  

2>【开放80、3306、22端口】

[html] view plaincopy

  1. #关闭防火墙  

  2. service iptables stop  

  3. vi /etc/sysconfig/iptables  

  4. #添加  

  5. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  

  6. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  

  7. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  

  8. #重启防火墙  

  9. service iptables restart  

3>【建立lamp/src目录, 将源码包上传】
4>【安装libxml2】

[html] view plaincopy

  1. tar -zxvf libxml2-2.6.30.tar.gz  

  2. cd libxml2-2.6.30  

  3. ./configure --prefix=/usr/local/libxml2/  

  4. make   

  5. make install  

5>【安装libmcrypt】

[html] view plaincopy

  1. tar -zxvf libmcrypt-2.5.8.tar.gz  

  2. cd libmcrypt-2.5.8  

  3. ./configure --prefix=/usr/local/libmcrypt/ --enable-ltdl-install  

  4. make  

  5. make install  

6>【安装libxml2-devel】

[html] view plaincopy

  1. yum install libxml2-devel  

7>【安装zlib】

[html] view plaincopy

  1. tar -zxvf zlib-1.2.3.tar.gz  

  2. cd zlib-1.2.3  

  3. ./configure  

  4. make  

  5. make install  

8>【安装libpng】

[html] view plaincopy

  1. tar -zxvf libpng-1.2.31.tar.gz  

  2. cd libpng-1.2.31  

  3. ./configure --prefix=/usr/local/libpng/  

  4. make  

  5. make install  

9>【安装jpegsrc.v6b】

[html] view plaincopy

  1. mkdir /usr/local/jpeg6  

  2. mkdir /usr/local/jpeg6/bin  

  3. mkdir /usr/local/jpeg6/lib  

  4. mkdir /usr/local/jpeg6/include  

  5. mkdir -p /usr/local/jpeg6/man/man1  

  6.   

  7. tar -zxvf jpegsrc.v6b.tar.gz  

  8. cd jpeg-6b  

  9. ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static  

  10. make  

  11. make install  

10>【安装freetype】

[html] view plaincopy

  1. tar -zxvf freetype-2.3.5.tar.gz  

  2. cd freetype-2.3.5  

  3. ./configure --prefix=/usr/local/freetype/  

  4. make  

  5. make install  

11>【安装autoconf】

[html] view plaincopy

  1. tar -zxvf autoconf-2.61.tar.gz  

  2. cd autoconf-2.61  

  3. ./configure  

  4. make  

  5. make install  

12>【安装gd】

[html] view plaincopy

  1. tar -zxvf gd-2.0.35.tar.gz  

  2. cd gd-2.0.35  

  3. ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/  

  4. make  

  5. make install  

13>【pcre-8.10】

[html] view plaincopy

  1. tar -zxvf pcre-8.10.tar.gz  

  2. cd pcre-8.10  

  3. ./configure  

  4. make  

  5. make install  

14>【安装openssl】

[html] view plaincopy

  1. tar -zxvf openssl-1.0.0e.tar.gz  

  2. cd openssl-1.0.0e  

  3. ./config --prefix=/usr/local/openssl  

  4. make  

  5. make install  

15>【安装nginx】

[html] view plaincopy

  1. groupadd www  

  2. useradd -g www www  

  3. tar -zxvf nginx-1.1.8.tar.gz  

  4. cd nginx-1.1.8  

  5. ./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   

  6. make  

  7. make install  

16>【安装ncurses】

[html] view plaincopy

  1. tar -zxvf ncurses-5.6.tar.gz  

  2. cd ncurses-5.6  

  3. ./configure --with-shared --without-debug --without-ada --enable-overwrite  

  4. make  

  5. make install  

17>【安装mysql】

[html] view plaincopy

  1. groupadd mysql  

  2. useradd -g mysql mysql  

  3. tar -zxvf mysql-5.1.59.tar.gz  

  4. cd mysql-5.1.59  

  5. ./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all  

  6. make  

  7. make install  

  8.   

  9. cp support-files/my-medium.cnf /etc/my.cnf  

  10. /usr/local/mysql/bin/mysql_install_db --user=mysql  

  11. chown -R root /usr/local/mysql  

  12. chown -R mysql /usr/local/mysql/var  

  13. chgrp -R mysql /usr/local/mysql  

  14.   

  15. /usr/local/mysql/bin/mysqld_safe  --user=mysql &  

  16. cp /lamp/src/mysql-5.1.59/support-files/mysql.server /etc/rc.d/init.d/mysqld  

  17. chown root.root /etc/rc.d/init.d/mysqld  

  18. chmod 755 /etc/rc.d/init.d/mysqld  

  19. chkconfig --add mysqld  

  20. chkconfig --list mysqld  

  21. chkconfig --levels 245 mysqld off  

  22.   

  23. #配置mysql  

  24. cd /usr/local/mysql  

  25. #简单的测试  

  26. bin/mysqladmin version  

  27. #查看所有mysql参数  

  28. bin/mysqladmin Variables  

  29. #没有密码可以直接登录本机服务器  

  30. bin/mysql -uroot  

  31. DELETE FROM mysql.user WHERE Host='localhost' AND User='';  

  32. FLUSH PRIVILEGES;  

  33. #设置root密码为123456  

  34. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');  

  35. #配置可远程连接mysql  

  36. use mysql  

  37. SELECT user,password,host FROM user;  

  38. DELETE FROM user WHERE host='localhsot.localdomain'  

  39. DELETE FROM user WHERE host='127.0.0.1';  

  40. UPDATE user SET host='%' WHERE user='root';  

  41. #重启mysql  

  42. service mysqld restart  

18>【安装php】

[html] view plaincopy

  1. tar -zxvf php-5.2.6.tar.gz  

  2. gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1  

  3.   

  4. cd php-5.2.6  

  5. ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --enable-fastcgi --enable-fpm  

  6. make  

  7. make install  

  8. cp php.ini-dist /usr/local/php/etc/php.ini  

  9. #修改php-fpm.conf  

  10. vi /usr/local/php/etc/php-fpm.conf  

  11. #查找63,66行将注释去掉  

  12. <value name="user">nobody</value>  

  13. <value name="group">nobody</value>  

  14. #启动php  

  15. /usr/local/php/sbin/php-fpm start  

19>【nginx配置】

[html] view plaincopy

  1. vi /usr/local/nginx/conf/nginx.conf  

  2. #在server下找到location / 修改解析PHP文件存放的路径, 修改为:  

  3. location / {  

  4.         root   /var/www/html;  

  5.         index  index.html index.htm index.php;  

  6. }  

  7. #root表示虚拟目录设置为/var/www/html,增加默认解析index.php  

  8. #在server下找到location ~ /.php$ 修改php解释器FastCGI配置,修改为:  

  9. location ~ \.php$ {  

  10.             root           /var/www/html;  

  11.             fastcgi_pass   127.0.0.1:9000;  

  12.             fastcgi_index  index.php;  

  13.             fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;  

  14.             include        fastcgi_params;  

  15. }  

  16. #将nginx添加到自启动中  

  17. echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.d/rc.local  

  18. #将php添加到自启动中  

  19. 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

  1. server {    

  2.     listen 80 default;    

  3.     server_name dev.localhost;    

  4.     access_log logs/dev.access.log;    

  5.   

  6.   

  7.     root /var/www/html/dev;    

  8.   

  9.   

  10.     server_name_in_redirect off;    

  11.   

  12.   

  13.     location / {    

  14.         index index.html index.php;  

  15.     }    

  16.   

  17.   

  18.     location ~ \.php$ {  

  19.         fastcgi_pass   127.0.0.1:9000;  

  20.         fastcgi_index  index.php;  

  21.         fastcgi_param  SCRIPT_FILENAME documentrootfastcgi_script_name;  

  22.         include        fastcgi_params;  

  23.     }  

  24. }    


#带url重写(zend framework)

[html] view plaincopy

  1. server {  

  2.     listen 80;  

  3.     server_name dev.localhost;  

  4.     access_log logs/dev.access.log;    

  5.           

  6.     root   /var/www/html/dev/code/html;  

  7.     location / {  

  8.         index index.html index.php;  

  9.   

  10.   

  11.         if (-e $request_filename ) {  

  12.             break;  

  13.         }  

  14.               

  15.         if ( requestfilename \.(js|ico|gif|jpg|jpeg|xml|swf|txt|png|css|html|htm) ) {  

  16.             return 404;  

  17.         }  

  18.               

  19.         rewrite .* index.php;  

  20.     }  

  21.     location ~ .*\.php$ {  

  22.         include fastcgi_params;  

  23.         fastcgi_param  SCRIPT_FILENAME    $document_root/index.php;  

  24.         #fastcgi_param REQUEST_URI documenturi?query_string;  

  25.         fastcgi_read_timeout 120;  

  26.         fastcgi_pass  127.0.0.1:9000;  

  27.         fastcgi_index index.php;  

  28.     }  

  29. }  


[html] view plaincopy

  1. #重启nginx  

  2. /usr/local/nginx/sbin/nginx -s reload  

  3. #重启php  

  4. /usr/local/php/sbin/php-fpm restart  










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1557287,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
179 90
|
7天前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
40 18
|
1月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
151 25
|
3月前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
170 8
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
266 13
|
3月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
269 7
|
3月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
4月前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
3月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
4月前
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等