LAMP(Apache+Nginx+Php)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP(Apache+Nginx+Php)相关的知识,希望对你有一定的参考价值。
一、LAMP应用平台概述:
1.概述:LAMP是目前最成熟的一种企业网站应用模式,可以提供动态web站点应用及开发环境,其构成linux、apache、mysql、php或python或perl等语言,优势:成本低、易于开发、方便易用、安全稳定;
2.网站分类:
静态:有纯html标签语言编写而成的页面,无论在什么环境,什么身份访问都不会发生变化;
动态:由网页的编程语言编写,例:java、php、.net、python语言,的动态页面,动态页面是由动态页面和html组成为一个网页页面,可以与数据库进行交互,可以通过动态页面对服务器构成操作;
3.php(超文本预处理语言):是一种服务器端html嵌入式语言,支持windows、linux、unix等多平台;
二、LAMP工作原理:
1.LAMP的处理流程:
apache:提供web的访问,客户端和服务器之间网页的传输;
php:提供.php页面的运行环境;
mysql:提供.php页面或者用户数据存放和写入位置;
三、案例:部署LAMP应用平台;
案列环境
1.apache安装
apache | 组件 |
---|---|
httpd-2.4.29.tar.gzt | apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz (跨平台工具组件包) |
1.准备apache安装包
tar xf /mnt/apr-1.6.2.tar.gz -C /opt #将跨平台组件包解压到/opt目录下
tar xf /mnt/apr-util-1.6.0.tar.gz -C /opt #将跨平台组件包解压到/opt目录下
tar xf /mnt/httpd-2.4.29.tar.bz2 -C /opt #解压apache安装包
mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr #将跨平台组件包剪切到 /httpd-2.4.29/srclib目录并且更名为 apr
mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
2.装备环境包
yum -y install gcc #C语言编译器
gcc-c++ #C++编译器
make #make工具(把源代码文件转换成二进制可执行文件)
pcre-devel #pcre语言的开发
expat-devel #解析html文件
perl #pace编辑器
3.配置apache
cd /opt/httpd-2.4.29 #cd到httpd-2.4.29目录
./configure --prefix=/usr/local/httpd #--prefix 自定将httpd服务程序安装到哪个目录
--enable-so #--enable-so 启用动态模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite #--enable-rewrite 启用网页地址重写功能,用于网站优化及目录迁移维护
--enable-charset-lite #--enable-chaset-lite 启用字符支持 以便使用各种字符集编码的网页
--enable-cgi #启用CGI脚本程序支持,便于扩展网站的应的应用访问能力
4.编译与安装
[root@hui httpd-2.4.29]# make #将源代码转换为可执行的程序
[root@hui httpd-2.4.29]# make install #安装
5.添加httpd系统服务(配置启动脚本,建立可以控制住的服务脚本)
[root@hui ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #将apachetcl(启动脚本)复制为/etc/init.d/httpd
`[root@hui ~]# sed -i -e ‘1 a# chkconfig: 35 85 21 ‘ -e ‘2 i # description: Apache is a World Wide Web server‘ /etc/init.d/httpd` #在文件开头添加chkconfig 识别配置, chkconfig:35 85 21 //服务识别参数,在级别3,5中启动;启动和关闭的顺序分别85、21
[root@hui ~]# chkconfig --add httpd #将httpd添加为系统服务
6.确定网站名称、IP地址,配置httpd服务
[root@hui ~]sed -i ‘/#ServerName www.example.com.com:80/s/example/yum/ ‘/usr/local/httpd/conf/httpd.conf #修改网站名称
[root@hui ~]sed -i -e ‘/Listen 80/s/^/#/‘ -e ‘/#Listen 12.34.56.78:80/s/#Listen 12.34.56.78:80/Listen 192.168.242.157/‘ /usr/local/httpd/conf/httpd.conf #修改web主机的IP地址
7.优化执行路径--通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了是该服务在使用时更加方便,可以为相关程序怎加符号链接。
[root@hui ~]ln -s /usr/local/httpd/conf/httpd.conf /etc/ #
[root@hui ~]ln -s /usr/local/httpd/bin/* /usr/local/bin/
8.关闭防火墙,启动服务
systemctl stop firewalld.service
setenforce 0
service httpd start
二.安装Mysql
1.安装环境包[root@hui ~]# yum install -y ncurses-devel autoconf cmake
2.源码编译以及安装
(1)解包
[root@hui mnt]# tar /mnt/mysql-5.6.26.tar.gz -C /opt
(2)配置[root@hui mysql-5.6.26]# cd /opt/mysql-5.6.26/
[root@hui mysql-5.6.26]cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定将mysql数据库程序安装到目录下
-DDEFAULT_CHARSET=utf8 #指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci #指定默认使用的字符集校验对规则
-DEXTRA_CHARSETS=all #拓展字符集
-DSYSCONFIDIR=/etc #指定初始化参数文件目录
-DMYSQL_DATADIR=/home/mysql/ -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock #连接数据库文件
(3)编译安装<br/>[root@hui mysql-5.6.26]# make && make install
3.添加系统服务和建立配置文件(添加mysql系统服务,以便通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本。找到support-files文件夹下的mysql.server 脚本文件,将其复制到/etc/init.d/目录下,改名为mysqld)
[root@hui mysql-5.6.26]#cp -f support-files/my-default.cnf /etc/my.cnf # 把配置文件复制到/etc/目录下,并且改名为my.cnf
[root@hui mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld #把启动文件复制到/etc/init.d/目录下 ,并且改名为mysqld。
[root@hui mysql-5.6.26]# chmod 755 /etc/init.d/mysqld #设置可执行权限
[root@hui mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld #通过chkconfig命令将其添加为mysqld系统服务,这样可以用service工具控制mysql数据库服务
[root@hui mysql-5.6.26]#chkconfig mysqld --level 235 on
4.设置环境变量--为了方便在任何目录下使用mysql命令,需要在/etc/profile 设置环境变量。
[root@hui mysql-5.6.26]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #设置mysql命令的环境变量
[root@hui mysql-5.6.26]#source /etc/profile #立即执行
5.关键运行用户--为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登录到系统
[root@hui mysql-5.6.26]# useradd -s /sbin/nologin mysql #创建mysql用户
[root@hui mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysq 对数据库目录进行权限设置
6.初始化数据库--为了能够正常时候用mysql数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等
/usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql
7.
[root@hui mysql-5.6.26]# ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock
[root@hui mysql-5.6.26]# sed -i -e ‘/basedir=/c basedir=/usr/local/mysql‘ -e ‘datadir=/c datadir=/home/mysql‘ /etc/init.d/mysqld
[root@hui mysql-5.6.26]#service mysqld start
[root@hui mysql-5.6.26]#mysqladmin -u root -p password "abc123" //给root账号设置密码
三.安装PHP
1.装备环境
[root@localhost ~]yum -y install gd #图像化处理库
libpng #支持png图片
libpng-devel pcre #支持正则表达式
pcre-devel #支持正则表达式
libxml2-devel #支持解析html语言
libjpeg-devel #支持jpeg图片
2.编译安装PHP
(1).解压
[root@localhost ~]tar xf php-5.6.11.tar.bz2 -C /opt
[root@localhost opt]# cd /opt/php-5.6.11/
(2).配置
[root@localhost php-5.6.11]#./configure --prefix=/usr/local/php5 #指定安装路径
--with-gd #gd库
--with-zlib #压缩
--with-apxs2=/usr/local/httpd/bin/apxs #设置Apache HTTPServer 提供的apxs模块支持程序的文件位置
--with-mysql=/usr/local/mysql #设置Mysql数据库服务程序的安装位置
--with-config-file-path=/usr/local/php5 #设置PHP的配置文件php.ini将要存放的位置
--enable-mbstring #启用多字节字符串功能,以便支持中文代码
(3)编译与安装
[root@localhost php-5.6.11]# make
[root@localhost php-5.6.11]# make install
3.设置LAMP组件环境
设置LAMP组件环境,主要包括对PHP的配置文件php.ini、Apche的配置文件httpd.conf的调整。前者用来确定PHP的运行参数,后者用来加载libphp5.so模块,以便支持php网页。
(1)调整配置文件
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini #复制配置文件到 /usr/local/php5/ 目录下并且取名为:php.ini
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/ #对/usr/local/php5/bin/* 命令做软连接,便于系统识别
(2).调整httpd.conf配置
要使httpd服务器支持PHP网页解析功能,需要通过LoadModule配置加载PHP程序的模块文件,并通过AddType配置项添加对“.php”类型网页文件的支持。
[root@localhost ~]#sed -i ‘/DirectoryIndex index.html/ c DirectoryIndex index.html index.php‘ /etc/httpd.conf # 修改**DirectroryIndex**配置行 ,添加index.php,来识别常见的PHP首页文件
[root@localhost ~]# sed -i ‘393 a AddType application/x-httpd-php .php‘ /etc/httpd.conf #设置对.PHP文件的支持
[root@localhost ~]# sed -i ‘394 a AddType application/x-httpd-php-source .phps‘ /etc/httpd.conf #
[root@localhost ~]cat >>/usr/local/httpd/htdocs/index.php <<-EOF
> <?php
> phpinfo();
> ?>
> EOF
[root@localhost ~]# sed -i ‘394 a AddType application/x-httpd-php-source .phps‘ /etc/httpd.conf #
[root@localhost ~]cat >>/usr/local/httpd/htdocs/index.php <<-EOF
<?php
phpinfo();
?>
EOF
以上是关于LAMP(Apache+Nginx+Php)的主要内容,如果未能解决你的问题,请参考以下文章
lamp +discuz+wordpress+phpmyadmin实例安装详解