LAMP架构的安装与经验技巧

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

LAMP:
linux+Apache+Mysql+PHP

1apache的安装与使用经验


可以通过源码(推荐)和yum安装,源码可以使用最新的安装,并且可以指定安装的路径, 方便以后维护。

(1apache需要的相关库文件

[root@localhost ~]#cd apr-1.4.5

[root@localhost ~]#./configure  --prefix=/usr/local/apr

[root@localhost ~]#make && make install


[root@localhost ~]#cd apr-util-1.3.12

[root@localhost ~]#./configure --prefix=/usr/local/apr-util  \

--with-apr=/usr/local/apr/bin/apr-1-config

[root@localhost ~]#make && make install

 

[root@localhost ~]#cd pcre-8.10  

[root@localhost ~]#./configure --prefix=/usr/local/pcre  

[root@localhost pcre-8.10]#make && make install 



2)安装libxml2

# cd /app/libxml2-2.7.6

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

# make && make install


3)安装libmcrypt

# cd /app/libmcrypt-2.5.8

# ./configure --prefix=/usr/local/libmcrypt

# make && make install

 

4)安装zlib

# cd /app/zlib-1.2.3

# ./configure

# make && make install


5)安装libpng

# cd /app/libpng-1.2.31

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

# make && make install

6)安装jpeg6

这个软件包安装有些特殊,其它软件包安装时如果目录不存在,会自动创建,但这个软件包安装时需要手动创建。

 

# 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

 

# cd /usr/local/src/jpeg-6b

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

# make && make install

 

出错make: ./libtool: Command not found

 

#wget:http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz

#./configure

#make

#make install

 

#cd jpeg-6b 的源码目录

#cp /usr/share/libtool/config/config.sub .

#cp /usr/share/libtool/config/config.guess .


7)安装freetype

# cd /usr/local/src/freetype-2.3.5

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

# make

# make install

8)安装autoconf

# cd /usr/local/src/autoconf-2.61

# ./configurefr

# make && make install

9)安装GD

# cd /app/libgd-2.1.1

# ./configure \

--prefix=/usr/local/gd2/ \

--enable-m4_pattern_allow \

--with-zlib=/usr/local/zlib/ \

--with-jpeg=/usr/local/jpeg6/ \

--with-png=/usr/local/libpng/ \

--with-freetype=/usr/local/freetype/

# make && make install

 

 

configure: error: Unable to find libgd.(a|so) >= 2.1.0 anywhere under /usr/local/gd2/

 

需要安装libgd-2.1.1或者更高版本。


10)安装apache

[root@localhost ~]#cd  httpd-2.4.18 

./configure --prefix=/usr/local/apache2

--enable-mods-shared=all 

--enable-so

--enable-proxy-ajp

--enable-rewrite

--with-apr=/usr/local/apr

--with-apr-util=/usr/local/apr-util/

--with-pcre=/usr/local/pcre

# make && make install

 

 

启动Apache

# /usr/local/apache2/bin/apachectl start

启动时报错:httpd: Could not reliably determine the server's fully qualified domain name

解决方法:

vim /usr/local/apache/conf/httpd.conf
找到#ServerName www.example.com:80   把#去掉,再重启apache即可没事了。 


关闭Apache

# /usr/local/apache2/bin/apachectl stop



2Mysql的安装与配置

Mysql5.6版本之后,编译mysql方式变为cmake

 

安装cmake

#yum install cmake

 

#cd mysql-5.6.17

#cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

 

make && make install

 

如果没有就创建用户就创建如下用户:

#groupadd mysql

#useradd -g mysql mysql

修改/usr/local/mysql权限:

#chown -R mysql:mysql /usr/local/mysql

 

#cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

#scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

 

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!如果发现/etc下存在my.cof文件,直接删掉,这样启动mysql时才会去/usr/local/mysql/my.cnf目录下下去找自己安装的文件

启动MySQL

 

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

#cd /usr/local/mysql

#cp support-files/mysql.server /etc/init.d/mysql

#chkconfig mysql on

#service mysql start  --启动MySQL

 

 

3Php的编译与配置思路

动态编译与静态编译

 

编译安装php5.6.18

cd php-5.6.18

./ configure

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-mysql=/usr/local/mysql/ \

--with-libxml-dir=/usr/local/libxml2/ \

--with-png-dir=/usr/local/libpng/ \

--with-jpeg-dir=/usr/local/jpeg6/ \

--with-freetype-dir=/usr/local/freetype/ \

--with-gd=/usr/local/gd2/ \

--with-zlib-dir=/usr/local/zlib/ \

--with-mcrypt=/usr/local/libmcrypt/ \

--with-mysqli=/usr/local/mysql/bin/mysql_config \

--with-xpm-dir=/usr/lib64/\

--enable-soap  \

--enable-mbstring=all \

--enable-sockets

 

 

/php-5.5.5/ext/gd/gd.c -o ext/gd/gd.lo

/usr/local/src/php-5.5.5/ext/gd/gd.c:57:22: 错误:X11/xpm.h:没有那个文件或目录

make: *** [ext/gd/gd.lo] 错误 1

 

yum install libXpm-devel

 

make && make install

 

 

如何新增一个模块

 

#cd /app/lamp/php-5.6.18/ext/mbstring   进入到源目录

#/usr/local/php/bin/phpize (假设php安装在/usr/local/php目录下)

#./configure --with-php-config=/usr/local/php/bin/php-config

#make&&make install

[root@localhost mbstring]# make install

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

Installing header files:          /usr/local/php/include/php/

4、测试php安装正确性以及数据库连通性

mysql相关的三个模块

 

mysqlmysqlimysqlndpdo-mysql

 

关于php.ini生效路径问题

PHP将按照如下顺序依次查找该文件:

1. 当前工作目录;

2. 环境变量PHPRC指明的路径;

3. 编译时指定的路径。

 

上传文件关注如下几个参数:

 

post_max_size = 128M

upload_max_filesize = 128M

#这两个设置一样即可,可以更大但要注意超时

max_execution_time = 30

max_input_time = 600

memory_limit = 32M




     本文转自诚之恋 51CTO博客,原文链接: http://blog.51cto.com/vickyzhang/1764430 ,如需转载请自行联系原作者




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
348
分享
相关文章
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
174 3
Kubernetes架构及安装
Kubernetes架构及安装
134 3
ARM架构安装ubuntu系统
8月更文挑战第19天
1900 0
使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图
使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图
869 0
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
114 2
揭秘ChaosBlade的Helm安装双架构:一步到位,让系统故障测试变得前所未有的简单和高效!
【8月更文挑战第7天】在多变的IT环境中,确保应用的稳定与可用至关重要。混沌工程通过故意引入故障来增强系统韧性。ChaosBlade是一款开源混沌实验工具,支持多样化的故障注入。结合Kubernetes的包管理器Helm,可简化ChaosBlade在集群中的部署。本文介绍如何使用Helm安装ChaosBlade双架构版本,包括添加仓库、选择版本、安装配置及验证等步骤,助力高效实施混沌工程,提升系统稳定性和可靠性。
107 0
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
10月前
|
ubuntu 安装vnc_vnc4server arm架构
ubuntu 安装vnc_vnc4server arm架构
180 0
2024年最全CentOS8 Consul微服务架构安装(1)_agent(1),Linux运维开发面试
2024年最全CentOS8 Consul微服务架构安装(1)_agent(1),Linux运维开发面试

热门文章

最新文章

AI助理

你好,我是AI助理

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