LAMP(Apache+Nginx+Php)
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.编译与安装
[ httpd-2.4.29]# make #将源代码转换为可执行的程序 [ httpd-2.4.29]# make install #安装
5.添加httpd系统服务(配置启动脚本,建立可以控制住的服务脚本)
[ ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #将apachetcl(启动脚本)复制为/etc/init.d/httpd `[ ~]# 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 [ ~]# chkconfig --add httpd #将httpd添加为系统服务
6.确定网站名称、IP地址,配置httpd服务
[ ~]sed -i ‘/#ServerName www.example.com.com:80/s/example/yum/ ‘/usr/local/httpd/conf/httpd.conf #修改网站名称 [ ~]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服务,程序路径并不在默认的搜索路径中,为了是该服务在使用时更加方便,可以为相关程序怎加符号链接。
[ ~]ln -s /usr/local/httpd/conf/httpd.conf /etc/ # [ ~]ln -s /usr/local/httpd/bin/* /usr/local/bin/
8.关闭防火墙,启动服务
systemctl stop firewalld.service
setenforce 0
service httpd start
二.安装Mysql
1.安装环境包[ ~]# yum install -y ncurses-devel autoconf cmake
2.源码编译以及安装
(1)解包
[ mnt]# tar /mnt/mysql-5.6.26.tar.gz -C /opt
(2)配置[ mysql-5.6.26]# cd /opt/mysql-5.6.26/
[ 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/>[ mysql-5.6.26]# make && make install
3.添加系统服务和建立配置文件(添加mysql系统服务,以便通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本。找到support-files文件夹下的mysql.server 脚本文件,将其复制到/etc/init.d/目录下,改名为mysqld)
[ mysql-5.6.26]#cp -f support-files/my-default.cnf /etc/my.cnf # 把配置文件复制到/etc/目录下,并且改名为my.cnf [ mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld #把启动文件复制到/etc/init.d/目录下 ,并且改名为mysqld。 [ mysql-5.6.26]# chmod 755 /etc/init.d/mysqld #设置可执行权限 [ mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld #通过chkconfig命令将其添加为mysqld系统服务,这样可以用service工具控制mysql数据库服务 [ mysql-5.6.26]#chkconfig mysqld --level 235 on
4.设置环境变量--为了方便在任何目录下使用mysql命令,需要在/etc/profile 设置环境变量。
[ mysql-5.6.26]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #设置mysql命令的环境变量 [ mysql-5.6.26]#source /etc/profile #立即执行
5.关键运行用户--为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登录到系统
[ mysql-5.6.26]# useradd -s /sbin/nologin mysql #创建mysql用户
[ 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.
[ mysql-5.6.26]# ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock [ mysql-5.6.26]# sed -i -e ‘/basedir=/c basedir=/usr/local/mysql‘ -e ‘datadir=/c datadir=/home/mysql‘ /etc/init.d/mysqld [ mysql-5.6.26]#service mysqld start [ mysql-5.6.26]#mysqladmin -u root -p password "abc123" //给root账号设置密码
三.安装PHP
1.装备环境
[ ~]yum -y install gd \ #图像化处理库 libpng \ #支持png图片 libpng-devel pcre \ #支持正则表达式 pcre-devel \ #支持正则表达式 libxml2-devel \ #支持解析html语言 libjpeg-devel #支持jpeg图片
2.编译安装PHP
(1).解压
[ ~]tar xf php-5.6.11.tar.bz2 -C /opt [ opt]# cd /opt/php-5.6.11/
(2).配置
[ 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)编译与安装
[ php-5.6.11]# make [ php-5.6.11]# make install
3.设置LAMP组件环境
设置LAMP组件环境,主要包括对PHP的配置文件php.ini、Apche的配置文件httpd.conf的调整。前者用来确定PHP的运行参数,后者用来加载libphp5.so模块,以便支持php网页。
(1)调整配置文件
[ php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini #复制配置文件到 /usr/local/php5/ 目录下并且取名为:php.ini [ 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”类型网页文件的支持。
[ ~]#sed -i ‘/DirectoryIndex index.html/ c DirectoryIndex index.html index.php‘ /etc/httpd.conf # 修改**DirectroryIndex**配置行 ,添加index.php,来识别常见的PHP首页文件 [ ~]# sed -i ‘393 a AddType application/x-httpd-php .php‘ /etc/httpd.conf #设置对.PHP文件的支持 [ ~]# sed -i ‘394 a AddType application/x-httpd-php-source .phps‘ /etc/httpd.conf # [ ~]cat >>/usr/local/httpd/htdocs/index.php <<-EOF > <?php > phpinfo(); > ?> > EOF
[ ~]# sed -i ‘394 a AddType application/x-httpd-php-source .phps‘ /etc/httpd.conf #
[ ~]cat >>/usr/local/httpd/htdocs/index.php <<-EOF
<?php
phpinfo();
?>
EOF
相关推荐
全文使用的环境如题,主机使用的是腾讯云主机。内容应该会是linux和apache这些所有部分都有一点,因为是遇见一个问题就记录一个。 尝试清除浏览器缓存/换一个浏览器验证/重启服务器的apache服务