LAMP架构及部署_lamp.abc-程序员宅基地

技术标签: 架构  

LAMP平台概述

1.什么是LAMP
目前最为成熟的一-种企业网站应用模式,可提供动态Web站点应用及开发环境
2.构成组件
Linux、Apache、 MySQL、 PHP/Per/Python
3.LAMP的优势
(1)成本低廉
(2)可定制、易于开发
(3)方便易用、安全和稳定

                                                                   部署过程

远程共享

[root@localhost ~]# smbclient -L //192.168.100.7/
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.100.7/LAMP-C7 /abc/
#远程挂载软件包到/abc目录

编译并安装Apache

源码包解压到/opt目录中:

tar zxvf apr-1.6.2.tar.gz -C /opt/
tar zxvf apr-util-1.6.0.tar.gz -C /opt/
tar jxvf httpd-2.4.29.tar.bz2 -C /opt/

移动httpd组件包:

cd /opt/
mv apr-1.6.2/ httpd-2.4.29/srclib/apr
mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

安装编译工具:

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

安装编译工具及注释:
yum -y install \
gcc \                #c语言
gcc-c++ \              #c++语言
make \                  #编译工具
pcre-devel \             #pcre语言工具
zlib-devel \
expat-devel \              #识别标签性语言工具
pcre \
perl                   #perl编译器

配置安装目录及模块:

cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

配置安装目录及模块的注释:
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \   
--enable-deflate \
--enable-expires \
--enable-so \                     #apache核心模块开启
--enable-rewrite \             #开启重写功能,防盗链
--enable-charset-lite \     #支持字符集,简体中文
--enable-cgi                      #通用网关接口    

编译并安装:

make && make install

替换启动脚本:

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
//复制apache启动脚本覆盖httpd原始的启动脚本

配置httpd文件参数:
(1)在#!/bin/sh下行插入这两行内容

[root@lamp httpd-2.4.29]#vim /etc/init.d/httpd
#!/bin/sh
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server    

(2)将httpd加入到SERVICE管理器中

[root@lamp httpd-2.4.29]# chkconfig --add httpd    

(3)更该域名及监听地址

[root@lamp httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf
域名:
ServerName www.kgc.com:80
监听地址:
Listen 192.168.35.139:80
#Listen 80

(4)创建软链接:

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

检查配置文件语法:

[root@localhost httpd-2.4.29]# httpd -t
Syntax OK

关闭防火墙并开启服务:

[root@lamp httpd-2.4.29]# systemctl stop firewalld.service
[root@lamp httpd-2.4.29]# setenforce 0
[root@lamp httpd-2.4.29]# service httpd start
[root@lamp httpd-2.4.29]# netstat -natp | grep 80
tcp        0      0 192.168.35.139:80       0.0.0.0:*               LISTEN      36510/httpd         

在浏览器中输入IP地址进行访问:

编码安装MYSQL

安装环境包和cmake工具包:

yum install -y ncurses-devel autoconf cmake

解包:

cd /abc/
tar zxvf mysql-5.6.26.tar.gz -C /opt/    

#解压数据库的软件包解压缩到/opt目录

配置:

[root@lamp opt]#cd /opt/mysql-5.6.26/    #进入数据库目录
[root@lamp mysql-5.6.26]# 
cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/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

注释:
-DCMAKE_INSTALL_PREFIX=/usr/local/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            #定义sock文件连接数据库文件

编译并安装:

make && make install

建立配置文件:(直接覆盖)

[root@lamp mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes

[root@lamp mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld

[root@lamp mysql-5.6.26]# chmod 755 /etc/init.d/mysqld          #授予执行权限
[root@lamp mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld                  #将数据库服务添加到管理器中
[root@lamp mysql-5.6.26]# chkconfig --level 35 mysqld on                       #开启数据库的3,5运行级别
[root@lamp mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile    #启用数据库命令到系统环境变量
[root@lamp mysql-5.6.26]# source /etc/profile                          #启用系统环境变量
[root@lamp mysql-5.6.26]# echo $PATH                               #查看系统环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@lamp mysql-5.6.26]# useradd -s /sbin/nologin mysql        #创建mysql程序用户,禁止登录数据库
[root@lamp mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/    #给/usr/local/mysql/目录下所有用户提权

[root@lamp mysql-5.6.26]# 
//初始化数据库,并指定用户数据信息到指定目录
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql

编辑数据库配置文件 :

[root@lamp mysql-5.6.26]# vim /etc/init.d/mysqld         编辑数据库配置文件 
basedir=/usr/local/mysql 
#在第46行指定数据库本地路径 
datadir=/home/mysql                                                                     
#在第47行指定数据库存放位置

开启数据库服务:

[root@lamp mysql-5.6.26]# service mysqld start                     
Starting MySQL. SUCCESS! 
[root@lamp mysql-5.6.26]# netstat -anpt | grep 3306      #查看数据库的监听端口3306
tcp6       0      0 :::3306                 :::*                    LISTEN      90105/mysqld  

设定数据库的root用户的密码:

[root@lamp mysql-5.6.26]# mysqladmin -u root -p password "abc123"

查看:

[root@localhost mysql-5.6.26]# mysql -u root -p
mysql> show datebases;

安装PHP

安装PHP环境:

[root@lamp ~]# 
yum install -y \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel        

解压PHP源码包:

[root@lamp ~]# cd /abc/
[root@lamp abc]# tar jxvf php-5.6.11.tar.bz2 -C /opt/

配置PHP相关组件及关联数据库与httpd的服务:

[root@lamp abc]# cd /opt/php-5.6.11/                             #进入/opt/php-5.6.11/目录
[root@lamp php-5.6.11]# 
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring

编译并安装:

make && make install

[root@lamp php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini             
#复制配置文件到php.ini目录中

[root@lamp php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/                       
#建立PHP命令软链接

编辑httpd配置文件:

[root@lamp php-5.6.11]# vim /etc/httpd.conf                           
##在第256行的DirectoryIndex index.html中在index.html后添加index.php即可##
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
##再在后面换行追加以下两行条目授予PHP执行权限##
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

编辑PHP首页文件:

[root@lamp php-5.6.11]# vim /usr/local/httpd/htdocs/index.php                    
<?php
phpinfo();
?>

重启httpd服务:

[root@localhost php-5.6.11]# service httpd stop
[root@localhost php-5.6.11]# service httpd start

在网页测试“http://192.168.35.139/index.php”:


安装Discuz论坛

[root@lamp php-5.6.11]#cd /abc        
//进入/abc目录

[root@lamp abc]# unzip Discuz_X2.5_SC_UTF8.zip -d /opt/Discuz
//解压论坛组件包到/opt目录

[root@lamp abc]# cp -r /opt/Discuz/upload/ /usr/local/httpd/htdocs/bbs
//复制/opt目录里的内容到httpd站点的bbs目录中

[root@lamp abc]# mysql -u root -p  
//进入数据库,密码为之前设定的abc123
mysql> create database bbs;
//创建bbs数据库
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
//提权数据库用户bbsuser为管理员并设定密码
mysql> flush privileges;
//刷新数据库
mysql> quit
//退出数据库

提升权限:

[root@lamp abc]# cd /usr/local/httpd/htdocs/bbs/
//进入bbs目录

chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
//为各程序用户提升权限

使用浏览器输入“http://192.168.35.139/bbs”开始正式安装Discuz论坛:

注意事项:

数据服务器:IP地址(此处输入创建数据库主机的IP)

数据库名:bbs

数据库用户名:bbsuser(用户名可在命令行修改)

数据库密码:admin123(密码可在命令行修改)

管理员账号:admin(该账号为默认)

密码:123456(密码可直接在网页设定)

使用浏览器输入“http://192.168.35.139/bbs/index.php”进入论坛:

使用浏览器输入“http://192.168.35.139/bbs/admin.php”进入后端:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LS19990712/article/details/102914107

智能推荐

2022黑龙江最新建筑八大员(材料员)模拟考试试题及答案_料账的试题-程序员宅基地

文章浏览阅读529次。百分百题库提供建筑八大员(材料员)考试试题、建筑八大员(材料员)考试预测题、建筑八大员(材料员)考试真题、建筑八大员(材料员)证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。310项目经理部应编制机械设备使用计划并报()审批。A监理单位B企业C建设单位D租赁单位答案:B311对技术开发、新技术和新工艺应用等情况进行的分析和评价属于()。A人力资源管理考核B材料管理考核C机械设备管理考核D技术管理考核答案:D312建筑垃圾和渣土._料账的试题

chatgpt赋能python:Python自动打开浏览器的技巧-程序员宅基地

文章浏览阅读614次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_python自动打开浏览器

Linux中安装JDK-RPM_linux 安装jdk rpm-程序员宅基地

文章浏览阅读545次。Linux中安装JDK-RPM方式_linux 安装jdk rpm

net高校志愿者管理系统-73371,计算机毕业设计(上万套实战教程,赠送源码)-程序员宅基地

文章浏览阅读25次。免费领取项目源码,请关注赞收藏并私信博主,谢谢-高校志愿者管理系统主要功能模块包括页、个人资料(个人信息。修改密码)、公共管理(轮播图、系统公告)、用户管理(管理员、志愿用户)、信息管理(志愿资讯、资讯分类)、活动分类、志愿活动、报名信息、活动心得、留言反馈,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取SQL Server 作为后台数据的主要存储单元,采用Asp.Net技术进行业务系统的编码及其开发,实现了本系统的全部功能。

小米宣布用鸿蒙了吗,小米OV对于是否采用鸿蒙保持沉默,原因是中国制造需要它们...-程序员宅基地

文章浏览阅读122次。原标题:小米OV对于是否采用鸿蒙保持沉默,原因是中国制造需要它们目前华为已开始对鸿蒙系统大规模宣传,不过中国手机四强中的另外三家小米、OPPO、vivo对于是否采用鸿蒙系统保持沉默,甚至OPPO还因此而闹出了一些风波,对此柏铭科技认为这是因为中国制造当下需要小米OV几家继续将手机出口至海外市场。 2020年中国制造支持中国经济渡过了艰难的一年,这一年中国进出口贸易额保持稳步增长的势头,成为全球唯一..._小米宣布用鸿蒙系统

Kafka Eagle_kafka eagle git-程序员宅基地

文章浏览阅读1.3k次。1.Kafka Eagle实现kafka消息监控的代码细节是什么?2.Kafka owner的组成规则是什么?3.怎样使用SQL进行kafka数据预览?4.Kafka Eagle是否支持多集群监控?1.概述在《Kafka 消息监控 - Kafka Eagle》一文中,简单的介绍了 Kafka Eagle这款监控工具的作用,截图预览,以及使用详情。今天_kafka eagle git

随便推点

Eva.js是什么(互动小游戏开发)-程序员宅基地

文章浏览阅读1.1k次,点赞29次,收藏19次。Eva.js 是一个专注于开发互动游戏项目的前端游戏引擎。:Eva.js 提供开箱即用的游戏组件供开发人员立即使用。是的,它简单而优雅!:Eva.js 由高效的运行时和渲染管道 (Pixi.JS) 提供支持,这使得释放设备的全部潜力成为可能。:得益于 ECS(实体-组件-系统)架构,你可以通过高度可定制的 API 扩展您的需求。唯一的限制是你的想象力!_eva.js

OC学习笔记-Objective-C概述和特点_objective-c特点及应用领域-程序员宅基地

文章浏览阅读1k次。Objective-C概述Objective-C是一种面向对象的计算机语言,1980年代初布莱德.考斯特在其公司Stepstone发明Objective-C,该语言是基于SmallTalk-80。1988年NeXT公司发布了OC,他的开发环境和类库叫NEXTSTEP, 1994年NExt与Sun公司发布了标准的NEXTSTEP系统,取名openStep。1996_objective-c特点及应用领域

STM32学习笔记6:TIM基本介绍_stm32 tim寄存器详解-程序员宅基地

文章浏览阅读955次,点赞20次,收藏16次。TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在 72MHz 计数时钟下可以实现最大 59.65s 的定时,59.65s65536×65536×172MHz59.65s65536×65536×721​MHz不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。_stm32 tim寄存器详解

前端基础语言HTML、CSS 和 JavaScript 学习指南_艾编程学习资料-程序员宅基地

文章浏览阅读1.5k次。对于任何有兴趣学习前端 Web 开发的人来说,了解 HTML、CSS 和JavaScript 之间的区别至关重要。这三种前端语言都是您访问过的每个网站的用户界面构建块。而且,虽然每种语言都有不同的功能重点,但它们都可以共同创建令人兴奋的交互式网站,让用户保持参与。因此,您会发现学习所有三种语言都很重要。如果您有兴趣从事前端开发工作,可以通过多种方式学习这些语言——在艾编程就可以参与到学习当中来。在本文中,我们将回顾每种语言的特征、它们如何协同工作以及您可以在哪里学习它们。HTML vs C._艾编程学习资料

三维重构(10):PCL点云配准_局部点云与全局点云配准-程序员宅基地

文章浏览阅读2.8k次。点云配准主要针对点云的:不完整、旋转错位、平移错位。因此要得到完整点云就需要对局部点云进行配准。为了得到被测物体的完整数据模型,需要确定一个合适的坐标系变换,将从各个视角得到的点集合并到一个统一的坐标系下形成一个完整的数据点云,然后就可以方便地进行可视化,这就是点云数据的配准。点云配准技术通过计算机技术和统计学规律,通过计算机计算两个点云之间的错位,也就是把在不同的坐标系下的得到的点云进行坐标变..._局部点云与全局点云配准

python零基础学习书-Python零基础到进阶必读的书藉:Python学习手册pdf免费下载-程序员宅基地

文章浏览阅读273次。提取码:0oorGoogle和YouTube由于Python的高可适应性、易于维护以及适合于快速开发而采用它。如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成。《Python学习..._零基础学pythonpdf电子书