Apache+Mysql+PHP搭建LAMP平台

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

所需软件包列表:

 
  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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
消息中间件 监控 Java
Apache Kafka 分布式流处理平台技术详解与实践指南
本文档全面介绍 Apache Kafka 分布式流处理平台的核心概念、架构设计和实践应用。作为高吞吐量、低延迟的分布式消息系统,Kafka 已成为现代数据管道和流处理应用的事实标准。本文将深入探讨其生产者-消费者模型、主题分区机制、副本复制、流处理API等核心机制,帮助开发者构建可靠、可扩展的实时数据流处理系统。
697 4
|
7月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
433 0
PHP和Mysql前后端交互效果实现
|
12月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
277 25
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
297 28
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
544 17
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
419 18
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
490 25
|
7月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
498 158
|
7月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1254 152

推荐镜像

更多