高端网站开发怎么选,腾讯企点电脑版,网页设计欣赏网页设计模板,免费推广网站工具一、LAMP架构架构的概述
LAMP 架构是一种流行的 Web 应用程序架构#xff0c;它的名称是由四个主要组件的首字母组成的#xff1a; Linux#xff08;操作系统#xff09;#xff1a; 作为操作系统#xff0c;Linux 提供了服务器的基础。它负责处理硬件资源、文件系统管理…一、LAMP架构架构的概述
LAMP 架构是一种流行的 Web 应用程序架构它的名称是由四个主要组件的首字母组成的 Linux操作系统 作为操作系统Linux 提供了服务器的基础。它负责处理硬件资源、文件系统管理、用户权限等。常见的 Linux 发行版如 Ubuntu、CentOS 等都可以作为 LAMP 架构的基础。 ApacheWeb 服务器 Apache 是一款开源的、跨平台的 Web 服务器软件。它的主要任务是接收来自客户端的 HTTP 请求根据配置文件处理请求然后将结果返回给客户端。Apache 可以处理静态页面也可以通过模块支持动态内容生成比如 PHP。 MySQL数据库管理系统 MySQL 是一种关系型数据库管理系统RDBMS用于存储和检索数据。在 LAMP 架构中MySQL 负责管理应用程序的数据。它支持 SQL 查询语言可以进行复杂的数据库操作。例如网站用户的信息、文章内容、配置数据等可以存储在 MySQL 数据库中。 PHP服务器端脚本语言 PHP 是一种服务器端脚本语言专门用于开发 Web 应用程序。PHP 脚本可以嵌入到 HTML 中与数据库进行交互并生成动态的 Web 页面。在 LAMP 架构中PHP 被 Apache 解释和执行然后将生成的 HTML 内容返回给客户端。 在构建LAMP平台时各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和MySQL的安装并没有严格的顺序PHP环境的安装一般放到最后安装负责沟通 Web 服务器和数据库系统以协同工作。
二、LAMP架构搭建的流程
2.1 编译安装Apache httpd服务 1.关闭防火墙将安装Apache所需软件包传到/opt目录下
#初始化操作
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#把软件包上传到opt目录
httpd-2.4.29.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
#apr组件包用于支持Apache上层应用跨平台提供底层接口库能有效的提高并发连接数、降低进程和减少访问堵塞。 2.安装环境依赖包
yum -y install \
gcc \ #C语言的编译器
gcc-c \ #C的编译器
make \ #源代码编译器源代码转换成二进制文件
pcre \ #pcre是一个Perl函数库包括perl 兼容的正则表达式库
pcre-devel \ #perl的接口开发包
expat-devel \ #用于支持网站解析HTML、XML文件
perl #perl语言编译器 yum -y install gcc gcc-c make pcre pcre-devel expat-devel perl 3.配置软件模块
解压缩
cd /opt/
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
将解压后的apr-1.6.2和 apr-util-1.6.0存放在httpd的srclib目录进行统一管理
mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util ./configure --prefix/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi 4.编译及安装
make -j2(4) #调用两核或者多核编译 make install #安装
2.2 优化配置文件路径并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin
2.3 添加httpd系统服务 方法一
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #用于service服务管理
chmod x /etc/init.d/httpd
vi /etc/init.d/httpd
#!/bin/bash #在第一行前插入新行添加此三行内容
# chkconfig: 35 85 21 #35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web serverchkconfig --add httpd #将httpd服务加入到service管理器systemctl start httpd.service #启动服务
或
service httpd start 方法二
vim /lib/systemd/system/httpd.service
[Unit] #服务的说明
DescriptionThe Apache HTTP Server #描述服务
Afternetwork.target #依赖当依赖的服务启动之后再启动自定义的服务
[Service] #服务运行参数的设置
Typeforking #后台运行方式
PIDFile/usr/local/httpd/logs/httpd.pid #PID文件位置
ExecStart/usr/local/bin/apachectl $OPTIONS #服务的运行命令
ExecReload/bin/kill -HUP $MAINPID #根据PID重载配置
[Install] #服务安装的相关设置
WantedBymulti-user.target #设置为多用户systemctl start httpd.service #启动服务
systemctl enable httpd.service #设置开机自启动
2.4 修改httpd 服务配置文件
vim /etc/httpd.conf
--52行--修改
Listen 192.198.80.10:80
--197行--取消注释修改
ServerName www.kgc.com:80--221行--默认首页存放路径
DocumentRoot /usr/local/httpd/htdocs
--255行--默认首页文件名设置
DirectoryIndex index.html httpd -t 或 apachectl -t #检查配置文件的配置项是否有误
cat /usr/local/httpd/htdocs/index.html #查看默认网页
systemctl restart httpd.service #重启服务2.5 浏览器访问验证
netstat -anpt | grep 80 #查看程序是否启动
echo 192.168.136.110 www.kgc.com /etc/hosts #把IP地址和域名加入到域名解析里http://192.168.136.100
http://www.CXK.com三、编译安装mysql服务
3.1 编译安装mysqld 服务 1.将安装mysql 所需软件包传到/opt目录下
mysql-boost-5.7.44.tar.gz 2.安装环境依赖包
yum -y install \
gcc \
gcc-c \
ncurses \ #字符终端下图形互动功能的动态库
ncurses-devel \ #ncurses开发包
bison \ #语法分析器
cmake #mysql需要用cmake编译安装 yum -y install gcc gcc-c ncurses ncurses-devel bison cmake openssl-devel 3. 配置软件模块
tar mysql-boost-5.7.44.tar.gz
cd /opt
mv boost_1_59_0 /usr/local/boost #重命名cd /opt/mysql-5.7.17/
cmake \
-DCMAKE_INSTALL_PREFIX/usr/local/mysql \ #指定mysql的安装路径
-DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件数据库连接文件的存储路径
-DSYSCONFDIR/etc \ #指定配置文件的存储路径
-DSYSTEMD_PID_DIR/usr/local/mysql \ #指定进程文件的存储路径
-DDEFAULT_CHARSETutf8 \ #指定默认使用的字符集编码如 utf8
-DDEFAULT_COLLATIONutf8_general_ci \ #指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETSall \ #指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE1 \ #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE1 \ #安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE1 \ #安装BLACKHOLE存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ #安装FEDERATED存储引擎
-DMYSQL_DATADIR/usr/local/mysql/data \ #指定数据库文件的存储路径
-DWITH_BOOST/usr/local/boost \ #指定boost的路径若使用mysql-boost集成包安装则-DWITH_BOOSTboost
-DWITH_SYSTEMD1 #生成便于systemctl管理的文件cmake \ -DCMAKE_INSTALL_PREFIX/usr/local/mysql \ -DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ -DSYSCONFDIR/etc \ -DSYSTEMD_PID_DIR/usr/local/mysql \ -DDEFAULT_CHARSETutf8 \ -DDEFAULT_COLLATIONutf8_general_ci \ -DWITH_EXTRA_CHARSETSall \ -DWITH_INNOBASE_STORAGE_ENGINE1 \ -DMYSQL_DATADIR/usr/local/mysql/data \ -DWITH_BOOSTboost \ -DWITH_SYSTEMD1 注意如果在CMAKE的过程中有报错当报错解决后需要把源码目录中的CMakeCache.txt文件删除然后再重新CMAKE否则错误依旧 4.编译及安装
make -j2(4) #调用两核或者多核编译 make install #安装 注意数据库编译要指定内核数量不然编译速度很慢我试过12核虽然快但是到80后容易报错大家可以用不超过10核进行编译。 3.2 创建musql用户
useadd -M -s /sbin/nologin mysql
3.3 修改mysql 配置文件
vim /etc/my.cnf #删除原配置项再重新添加下面内容
[client] #客户端设置
port 3306
socket /usr/local/mysql/mysql.sock [mysql] #服务端设置
port 3306
socket /usr/local/mysql/mysql.sock
auto-rehash #开启自动补全功能[mysqld] #服务全局设置
user mysql #设置管理用户
basedir/usr/local/mysql #指定数据库的安装目录
datadir/usr/local/mysql/data #指定数据库文件的存储路径
port 3306 #指定端口
character-set-serverutf8 #设置服务器字符集编码格式为utf8
pid-file /usr/local/mysql/mysqld.pid #指定pid 进程文件路径
socket/usr/local/mysql/mysql.sock #指定数据库连接文件
bind-address 0.0.0.0 #设置监听地址0.0.0.0代表允许所有如允许多个IP需空格隔开
skip-name-resolve #禁止域名解析包括主机名所以授权的时候要使用 IP 地址
max_connections4096 #设置mysql的最大连接数
default-storage-engineINNODB #指定默认存储引擎
max_allowed_packet32M #设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB最大值是 1GB必须设置 1024 的倍数。
server-id 1 #指定服务ID号sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTESsql_mode常用值如下: NO_ENGINE_SUBSTITUTION 如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常 STRICT_TRANS_TABLES 在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制 NO_AUTO_CREATE_USER 禁止GRANT创建密码为空的用户 NO_AUTO_VALUE_ON_ZERO mysql中的自增长列可以从0开始。默认情况下自增长列是从1开始的如果你插入值为0的数据会报错 NO_ZERO_IN_DATE 不允许日期和月份为零 NO_ZERO_DATE mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告 ERROR_FOR_DIVISION_BY_ZERO 在INSERT或UPDATE过程中如果数据被零除则产生错误而非警告。默认情况下数据被零除时MySQL返回NULL PIPES_AS_CONCAT 将||视为字符串的连接操作符而非或运算符这和Oracle数据库是一样的也和字符串的拼接函数Concat相类似 ANSI_QUOTES 启用ANSI_QUOTES后不能用双引号来引用字符串因为它被解释为识别符 3.4 更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf3.5 设置路径环境变量
echo export PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profile #设置全局变量
source /etc/profile3.6 初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \ #生成初始化密码为空
--usermysql \ #指定管理用户
--basedir/usr/local/mysql \ #指定数据库的安装目录
--datadir/usr/local/mysql/data #指定数据库文件的存储路径
3.7 添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #用于systemctl服务管理
systemctl daemon-reload #刷新识别
systemctl start mysqld.service #开启服务
systemctl enable mysqld #开机自启动
netstat -anpt | grep 3306 #查看端口3.8 修改mysql 的登录密码
mysqladmin -u root password 123 #给root账号设置密码为123原始密码为空
3.9 授权远程登录
mysql -u root -p
grant all privileges on *.* to root% identified by abc123;
#授予root用户可以在所有终端远程登录使用的密码是abc123并对所有数据库和所有表有操作权限show databases; #查看当前已有的数据库 四、编译安装php解析环境
4.1 将安装PHP 所需软件包传到/opt目录下
php-7.1.10
php-7.1.10.tar.bz2 4.2 安装GD库和GD库关联程序用来处理和生成图片
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
4.3 配置软件模块
cd /opt
tar xf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
./configure \
--prefix/usr/local/php7 \ #指定将 PHP 程序的安装路径
--with-apxs2/usr/local/httpd/bin/apxs \ #指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock/usr/local/mysql/mysql.sock \ #指定mysql 数据库连接文件的存储路径
--with-config-file-path/usr/local/php7 #设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \ #添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务而且还可以使访问数据库工作变得更加稳定
--with-zlib \ #支持zlib功能提供数据压缩
--with-curl \ #开启curl扩展功能实现HTTP的Get下载和Post请求的方法
--with-gd \ #激活gd 库的支持
--with-jpeg-dir \ #激活jpeg 的支持
--with-png-dir \ #激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \ #启用多字节字符串功能以便支持中文等代码
--enable-xml \ #开启扩展性标记语言模块
--enable-session \ #会话
--enable-ftp \ #文本传输协议
--enable-pdo \ #函数库
--enable-tokenizer \ #令牌解释器
--enable-zip #ZIP压缩格式
4.4 编译及安装
make -j2 make install
4.5 复制模版文件作为PHP 的主配置文件并进行修改
/usr/local/php7/bin/php --ini
cp /opt/php-7.2.30/php.ini-development /usr/local/php7/php.ini
#在测试环境时使用php.ini-development文件而在生产环境时使用php.ini-production文件
vim /usr/local/php7/php.ini
--1170行--修改
mysqli.default_socket /usr/local/mysql/mysql.sock
--939行--取消注释修改
date.timezone Asia/Shanghai
4.6 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php7/bin/* /usr/local/bin/
php -m #查看PHP 加载了哪些模块4.7 修改httpd 服务的配置文件让apache支持PHP
vim /etc/httpd.conf
--393行--插入以下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
--255行--修改首页文件名设置
DirectoryIndex index.html index.php---检查支持php7的模块是否存在------
LoadModule php7_module modules/libphp7.so 4.8 验证PHP 测试页
rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
?php
phpinfo();
?systemctl restart httpd.service浏览器访问 192.168.136.110
文章转载自: http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.xnzmc.cn.gov.cn.xnzmc.cn http://www.morning.hpdpp.cn.gov.cn.hpdpp.cn http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn http://www.morning.twwts.com.gov.cn.twwts.com http://www.morning.nqgds.cn.gov.cn.nqgds.cn http://www.morning.hcrxn.cn.gov.cn.hcrxn.cn http://www.morning.rqmr.cn.gov.cn.rqmr.cn http://www.morning.twdwy.cn.gov.cn.twdwy.cn http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn http://www.morning.sgbk.cn.gov.cn.sgbk.cn http://www.morning.klltg.cn.gov.cn.klltg.cn http://www.morning.fdrch.cn.gov.cn.fdrch.cn http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.yzxhk.cn.gov.cn.yzxhk.cn http://www.morning.dwdjj.cn.gov.cn.dwdjj.cn http://www.morning.mzbyl.cn.gov.cn.mzbyl.cn http://www.morning.xbbrh.cn.gov.cn.xbbrh.cn http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn http://www.morning.lekbiao.com.gov.cn.lekbiao.com http://www.morning.cxryx.cn.gov.cn.cxryx.cn http://www.morning.rmjxp.cn.gov.cn.rmjxp.cn http://www.morning.dbrdg.cn.gov.cn.dbrdg.cn http://www.morning.wjxtq.cn.gov.cn.wjxtq.cn http://www.morning.jmbfx.cn.gov.cn.jmbfx.cn http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn http://www.morning.dnvhfh.cn.gov.cn.dnvhfh.cn http://www.morning.sbrjj.cn.gov.cn.sbrjj.cn http://www.morning.pwlxy.cn.gov.cn.pwlxy.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn http://www.morning.ndmbd.cn.gov.cn.ndmbd.cn http://www.morning.wcqkp.cn.gov.cn.wcqkp.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.mgkb.cn.gov.cn.mgkb.cn http://www.morning.myzfz.com.gov.cn.myzfz.com http://www.morning.syssdz.cn.gov.cn.syssdz.cn http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn http://www.morning.tbnpn.cn.gov.cn.tbnpn.cn http://www.morning.bypfj.cn.gov.cn.bypfj.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.kybjr.cn.gov.cn.kybjr.cn http://www.morning.wgzgr.cn.gov.cn.wgzgr.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.gmwqd.cn.gov.cn.gmwqd.cn http://www.morning.zcncb.cn.gov.cn.zcncb.cn http://www.morning.lrylj.cn.gov.cn.lrylj.cn http://www.morning.xlmgq.cn.gov.cn.xlmgq.cn http://www.morning.yllym.cn.gov.cn.yllym.cn http://www.morning.fzlk.cn.gov.cn.fzlk.cn http://www.morning.xphls.cn.gov.cn.xphls.cn http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn http://www.morning.pxjp.cn.gov.cn.pxjp.cn http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn http://www.morning.rhchr.cn.gov.cn.rhchr.cn http://www.morning.trjdr.cn.gov.cn.trjdr.cn http://www.morning.rsjng.cn.gov.cn.rsjng.cn http://www.morning.cybch.cn.gov.cn.cybch.cn http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn http://www.morning.xxfxxf.cn.gov.cn.xxfxxf.cn http://www.morning.wwjft.cn.gov.cn.wwjft.cn http://www.morning.wynqg.cn.gov.cn.wynqg.cn http://www.morning.mxnhq.cn.gov.cn.mxnhq.cn http://www.morning.rmxk.cn.gov.cn.rmxk.cn http://www.morning.zpyh.cn.gov.cn.zpyh.cn http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn http://www.morning.ccphj.cn.gov.cn.ccphj.cn http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn http://www.morning.bhmnp.cn.gov.cn.bhmnp.cn http://www.morning.ebpz.cn.gov.cn.ebpz.cn http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn http://www.morning.yzygj.cn.gov.cn.yzygj.cn http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn http://www.morning.zdfrg.cn.gov.cn.zdfrg.cn http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn