源码编译构建LAMP(企业网站架构部署与优化)

部署LAMP平台

LAMV架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包 括 Linux操作系统,Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。

在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中ApacheMyAQL安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通Web服务器和数据库系统以协同工作。

解析:

静态页面(apache)

  • 动态页面(php)(tomcat)(web容器,servlet容器,jsp容器)

补充:如何永久关闭内核安全机制?

APACHE

如何查看当前是否有httpd的安装包:rpm -qa http 如果有要删除掉,否则会冲突。

先安装软件包需要的开发环境:yum -y install apr-util-devel pcre-devel gcc*

然后安装httpd压缩包;

解压:tar zxvf httpd-2.4.254.tar.gz

随后cd进入到解压目录;找到configure

再指定安装路径及启用的服务:

./confifure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

so:支持DSO(动态加载模块);动态共享目标(在安装完一个软件后想增加一些功能;不必再卸载重新安装所提供的一种特性,利用这种特性,不用卸载这个软件包,可以在服务运行过程中增加一些功能。)

rewrite:地址重写

charset-lite:字符集(保证服务在运行的时候在处理各种文件能够正常呈现。)

cgi:通用网关接口;

如果配置成功了会显示如图:

2.4.25的版本;安装的目录;c语言编译器:gcc

随后编译(将源码文件编译成二进制的文件;编译成了可执行文件):make

再make install

如何验证安装的结果;及目录下一些重要的目录信息

ls /usr/local/httpd

bin:二进制的文件(一些命令)

logs:日志文件

conf:apache的配置文件;

htdocs:网站文件所在的根目录

如何解决命令路径太长的问题:链接到系统查找的目录下

ln -s /usr/local/http/bin/* /usr/local/bin/

如何启动或关系http服务:验证服务是否在开启或者关闭;netstat -anpt | grep httpd

如何关闭提示信息;先进入配置文件

vim /usr/local/httpd/conf/httpd.conf 把这一行内容注释删掉,添加一个域名。

如何让apache服务设置为系统服务;可以用systemctl服务去管理

cd /lib/systemd/system 然后创建一个apache的服务文件;

vim httpd.service 写入以下参数:

立即重载守护进程:systemctl daemon-reload

web服务

虚拟主机 :

基于域名(用的最多。)

基于IP (需要多个IP。)

基于端口 (一个IP,绑定多个端口。)

基于域名::

先在客户机的/etc/hosts文件中写入参数;

在服务器创建两个目录

修改服务器预留的虚拟配置文件:

再将修改过的虚拟站点配置文件放置到apache的主配置文件;使得其能被读取到。

用客户机验证:

基于IP地址的虚拟主机:

在基于域名的基础上进行修改:

临时添加一个IP地址,若要永久生效,需要创建一个IP地址并和其域名绑定到一起。

服务器端重启apache服务后生效。

然后验证:

基于端口号的虚拟主机:

修改完了之后再在虚拟主机配置文件监听一个8080端口(虚拟主机的web服务端口)

重启服务后生效;再用客户端验证:

MY SQL

先查询服务器端有没有安装mysql软件包;一个是客户端(mysql)一个是服务器端(mysql-server)分别查询一下。

首先安装开发环境;编译环境。

autoconf:自动化配置脚本的一个工具。

然后,解压压缩包;

cd到解压目录查看一下目录内容。

安装mysql源码包的编译工具;cmake

为了数据库的安全着想,不使用root用户登录。创建一个程序用户。

使用cmake指定安装目录及启用的功能;

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

配置完成会生成一些配置文件:

再用make进行编译

make && make install

提到上述的安全问题;要为mysqsl目录修改一下归属问题。

首先cd进入mysql的安装目录。

修改为“mysql”用户可执行的文件。

查看系统最初自带的mariadb文件;然后把它删除掉,因为我们安装的是mysql。

进入到解压目录,然后寻找源码包为用户提供的模版文件,然后拷贝到/etc/下,加以修改作为配置文件。

为mysql进行初始化设置;

将mysql的命令写入到系统文件中,方便平时使用。

将末尾这一行内容写进去。

然后重载该文件,即可生效。

如果要用init作为守护进程管理mysql,要将解压目录下提供的配置文件拷贝到/etc/init.d中。

给这个脚本一个执行权。

把mysqld添加给Linux的系统服务;使用systemd进程管理。

设置开机自启:

如何为用户设置密码:

PHP

先安装编译环境:

yum -y install zlib-devel libxml2-devel

安装php代码加密工具:这些加密工具本地磁盘可能没有,要切换别的仓库作为yum仓库。

yum -y install libmcrypt libmcrypt-devel mcrypt mhash

解压压缩包:

tar zxf php-5.5.38.tar.gz

cd到解压目录内进行配置:

配置成功会提示如图:

开始编译及编译后安装:

make && make install

安装后调整:

进入到拷贝后的配置文件后进行修改:

再安装加速解析代码的软件:

解压该软件包;再将该软件包提供的配置文件拷贝到/usr/local/php5/lib/php放置到一起。

再进入php的配置文件进行添加该加速插件:

vim /usr/local/php5/php.ini

进入到apache的配置文件中进行修改:

将标注的内容写进配置文件。

然后重启apache服务,然后用工具查看httpd的文件格式是否有误:

cd到apache的网页文件内编写测试脚本测试服务是否安装成功:

编写如上脚本后,用浏览器进行测试;且在搜索栏中指定要访问的文件:

再编写一个脚本测试mysql服务:

相关推荐

  1. 编译构建LAMP

    2024-07-09 23:36:09       24 阅读
  2. 编译构建LAMP

    2024-07-09 23:36:09       16 阅读
  3. 第2章 编译构建LAMP

    2024-07-09 23:36:09       15 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 23:36:09       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 23:36:09       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 23:36:09       57 阅读
  4. Python语言-面向对象

    2024-07-09 23:36:09       68 阅读

热门阅读

  1. 华为OD面试分享18

    2024-07-09 23:36:09       19 阅读
  2. 【C++设计模式】(二)设计模式简介

    2024-07-09 23:36:09       22 阅读
  3. 安卓面试题系列--【1】

    2024-07-09 23:36:09       21 阅读
  4. rman 异地恢复某个PDB的步骤

    2024-07-09 23:36:09       17 阅读
  5. 【国产开源可视化引擎Meta2d.js】拖拽

    2024-07-09 23:36:09       19 阅读
  6. 总结:Flink任务执行

    2024-07-09 23:36:09       20 阅读
  7. react v18——env环境变量配置、打包配置(craco)

    2024-07-09 23:36:09       25 阅读
  8. Consul与CoreDNS的对比

    2024-07-09 23:36:09       21 阅读
  9. git 合并多次commit,提交MR

    2024-07-09 23:36:09       17 阅读
  10. Redis中测试Stream的例子

    2024-07-09 23:36:09       21 阅读
  11. 「AIGC」大数据开发语言Scala入门

    2024-07-09 23:36:09       24 阅读
  12. 易保全推动区块链应用与AI融合创新发展

    2024-07-09 23:36:09       22 阅读
  13. 如何在LabVIEW中使用FPGA模块

    2024-07-09 23:36:09       18 阅读
  14. 【FFMPEG基础(一)】解码源码

    2024-07-09 23:36:09       19 阅读
  15. Oracle的RECYCLEBIN回收站:轻松恢复误删对象

    2024-07-09 23:36:09       22 阅读