Apache+Mysql+PHP搭建LAMP平台

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

所需软件包列表:

 
  1. mysql-5.0.92.tar.gz   
  2. openssl-0.9.8l.tar.gz  
  3. httpd-2.2.17.tar.gz  
  4. libxml2-2.6.31.tar.gz  
  5. freetype-2.3.5.tar.gz  
  6. zxvf zlib-1.2.3.tar.gz  
  7. libpng-1.2.40.tar.gz  
  8. gd-2.0.35.tar.gz  
  9. libmcrypt-2.5.7.tar.gz  
  10. php-5.2.17.tar.gz 

软件包全部安装在 /usr/local目录下,apahce的主目录设在/home/htdoc,mysql的数据目录设在/home/var

安装过程:

1、建立用户

 
  1. groupadd mysql  
  2. useradd -m mysql -g mysql -d /usr/local/mysql  
  3. groupadd www  
  4. useradd -m www -d /home/www -s /sbin/nologin 

2、安装mysql

 
  1. tar xzvf mysql-5.0.92.tar.gz  
  2. cd mysql-5.0.92  
  3. ./configure --prefix=/usr/local/mysql --localstatedir=/home/var --with-charset=utf8 --with-extra-charsets=all --with-berkeley-db --with-innodb --without-readline --enable-assembler --with-pthread --enable-thread-safe-client --with-client-ldflags=-all-static  
  4. make   
  5. make install 

编辑mysql配置文件

vi /etc/my.cnf

 
  1. [client]  
  2. character-set-server = utf8 
  3. port    = 3306 
  4. socket  = /tmp/mysql.sock  
  5.  
  6. [mysqld]  
  7. character-set-server = utf8 
  8. replicate-ignore-db = mysql 
  9. replicate-ignore-db = test 
  10. replicate-ignore-db = information_schema 
  11. user    = mysql 
  12. port    = 3306 
  13. socket  = /tmp/mysql.sock  
  14. basedir = /usr/local/mysql  
  15. datadir = /home/var  
  16. log-error = /home/var/mysql_error.log  
  17. pid-file = /home/var/mysql.pid  
  18. open_files_limit    = 10240 
  19. back_log = 600 
  20. max_connections = 5000 
  21. max_connect_errors = 6000 
  22. table_cache = 614 
  23. external-locking = FALSE 
  24. max_allowed_packet = 32M 
  25. sort_buffer_size = 1M 
  26. join_buffer_size = 1M 
  27. thread_cache_size = 300 
  28. #thread_concurrency = 8 
  29. query_cache_size = 512M 
  30. query_cache_limit = 2M 
  31. query_cache_min_res_unit = 2k 
  32. default-storage-engine = MyISAM 
  33. thread_stack = 192K 
  34. transaction_isolation = READ-COMMITTED  
  35. tmp_table_size = 246M 
  36. max_heap_table_size = 246M 
  37. long_query_time = 3 
  38. log-slave-updates  
  39. log-bin = /home/var/binlog/binlog  
  40. binlog_cache_size = 4M 
  41. binlog_format = MIXED 
  42. max_binlog_cache_size = 8M 
  43. max_binlog_size = 1G 
  44. relay-log-index = /home/var/relaylog/relaylog  
  45. relay-log-info-file = /home/var/relaylog/relaylog  
  46. relay-log = /home/var/relaylog/relaylog  
  47. expire_logs_days = 30 
  48. key_buffer_size = 256M 
  49. read_buffer_size = 1M 
  50. read_rnd_buffer_size = 16M 
  51. bulk_insert_buffer_size = 64M 
  52. myisam_sort_buffer_size = 128M 
  53. myisam_max_sort_file_size = 10G 
  54. myisam_repair_threads = 1 
  55. myisam_recover  
  56.  
  57. interactive_timeout = 120 
  58. wait_timeout = 120 
  59.  
  60. skip-name-resolve  
  61. #master-connect-retry = 10 
  62. slave-skip-errors = 1032,1062,126,1114,1146,1048,1396  
  63.  
  64. #master-host     =   192.168.1.2  
  65. #master-user     =   username 
  66. #master-password =   password  
  67. #master-port     =  3306 
  68.  
  69. server-id = 1 
  70.  
  71. innodb_additional_mem_pool_size = 16M 
  72. innodb_buffer_pool_size = 512M 
  73. innodb_data_file_path = ibdata1:256M:autoextend  
  74. innodb_file_io_threads = 4 
  75. innodb_thread_concurrency = 8 
  76. innodb_flush_log_at_trx_commit = 2 
  77. innodb_log_buffer_size = 16M 
  78. innodb_log_file_size = 128M 
  79. innodb_log_files_in_group = 3 
  80. innodb_max_dirty_pages_pct = 90 
  81. innodb_lock_wait_timeout = 120 
  82. innodb_file_per_table = 0 
  83.  
  84. #log-slow-queries = /home/var/slow.log  
  85. #long_query_time = 10 
  86.  
  87. [mysqldump]  
  88. quick  
  89. max_allowed_packet = 32M 

始初化及相关配置

 
  1. /usr/local/mysql/bin/mysql_install_db --user=mysql  
  2. chown -R mysql:mysql /home/var  
  3. /usr/local/mysql/bin/mysqld_safe --user=mysql &  
  4. cp ./support-files/mysql.server /etc/rc.d/init.d/mysql  
  5. chmod +x /etc/rc.d/init.d/mysql  
  6. chkconfig --add mysql  
  7. service mysql start  
  8. /usr/local/mysql/bin/mysqladmin -u root password 123456 

3、安装openssl

 
  1. tar zxvf openssl-0.9.8l.tar.gz  
  2. cd openssl-0.9.8l  
  3. ./config  
  4. make  
  5. make install 

4、安装apache

 
  1. tar zxvf httpd-2.2.17.tar.gz   
  2. cd httpd-2.2.17  
  3. ./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --enable-module=so --enable-shared=max --enable-rewrite --with-mpm=worker --enable-ssl=static --with-ssl=/usr/local/ssl  
  4. make    
  5. make install  

把apache添加chkconfig

 
  1. cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd  
  2. vi /etc/rc.d/init.d/httpd  
  3. 加入下面两行:  
  4. #chkconfig:345 85 15  
  5. #description: Start and stops the Apache HTTP Server.  
  6.  
  7. chmod +x /etc/rc.d/init.d/httpd   
  8. chkconfig --add httpd 

5、安装GD、libxml、libmcrypt等支持

 
  1. #install Libxml  
  2. tar zxvf libxml2-2.6.31.tar.gz   
  3. cd libxml2-2.6.31  
  4. ./configure --prefix=/usr/local/libxml2  
  5. make  
  6. make install  
  7.  
  8. #install jpeg6  
  9. mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/man1,man1}  
  10. tar zxvf jpegsrc.v6b.tar.gz   
  11. cd jpeg-6b/  
  12. ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static  
  13. make   
  14. make install  
  15.  
  16. #install freetype  
  17. tar zxvf freetype-2.3.5.tar.gz   
  18. cd freetype-2.3.5  
  19. ./configure --prefix=/usr/local/freetype  
  20. make  
  21. make install  
  22.  
  23. #install zlib  
  24. tar zxvf zlib-1.2.3.tar.gz   
  25. cd zlib-1.2.3  
  26. ./configure --prefix=/usr/local/zlib  
  27. make  
  28. make install  
  29.  
  30. #install libpng  
  31. tar zxvf libpng-1.2.40.tar.gz   
  32. cd libpng-1.2.40  
  33. cp scripts/makefile.std makefile  
  34. make  
  35. make install  
  36.  
  37. #install gd  
  38. tar zxvf gd-2.0.35.tar.gz   
  39. cd gd-2.0.35  
  40. ./configure --prefix=/usr/local/gd --with-png=/usr/local/libpng --with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/jpeg6 --with-libxml=/usr/local/libxml2  
  41. make  
  42. make install  
  43.  
  44. #install libmcrypt  
  45. tar zxvf libmcrypt-2.5.7.tar.gz   
  46. cd libmcrypt-2.5.7  
  47. ./configure  
  48. make  
  49. make install 

6、安装PHP

 
  1. tar zxvf php-5.2.17.tar.gz   
  2. cd php-5.2.17   
  3. ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir=/usr/local/libxml2 --with-gd=/usr/local/gd/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/lib --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --with-mcrypt=/usr/local/lib/libmcrypt --enable-mbstring --with-openssl --enable-ftp --with-curl --enable-sockets  
  4. make  
  5. make install  
  6. cp php.ini-dist /usr/local/php/lib/php.ini 

7、配置apache与PHP关联

vi /usr/local/apache/conf/httpd.conf

红色为插入,蓝色为修改

 
  1. ……  
  2. User www  
  3. Group www 
  4. ……  
  5. <IfModule dir_module> 
  6.     DirectoryIndex index.html index.php  
  7. </IfModule> 
  8. ……  
  9. AddType application/x-compress .Z  
  10. AddType application/x-gzip .gz .tgz  
  11. AddType application/x-httpd-php .php .html .htm  

8、最后启动服务

 
  1. service httpd start 

 本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/561634如需转载请自行联系原作者


lihuipeng

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
26天前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
|
2月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
2月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
42 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
3月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
53 3
|
2月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
140 0
|
4月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
66 1
|
4月前
|
前端开发 关系型数据库 MySQL
使用 PHP 和 MySQL 实现留言板功能
使用 PHP 和 MySQL 实现留言板功能
118 0
|
4月前
|
消息中间件 分布式计算 关系型数据库
使用Apache Spark从MySQL到Kafka再到HDFS的数据转移
使用Apache Spark从MySQL到Kafka再到HDFS的数据转移

推荐镜像

更多
下一篇
无影云桌面