深圳制作网站多少费用,腾讯邮箱网页登录入口,网站建设专家哪家好,哪个公司需要做网站文章目录 LAMP架构概述各组件的主要作用构建LAMP平台的安装顺序 编译安装Apache httpd服务指南1. 准备工作1.1 关闭防火墙并传输软件包1.2 安装环境依赖包 2. 配置软件模块2.1 解压软件包2.2 移动apr组件包2.3 配置httpd 3. 编译及安装4. 优化配置4.1 配置文件路径4.2 添加http… 文章目录 LAMP架构概述各组件的主要作用构建LAMP平台的安装顺序 编译安装Apache httpd服务指南1. 准备工作1.1 关闭防火墙并传输软件包1.2 安装环境依赖包 2. 配置软件模块2.1 解压软件包2.2 移动apr组件包2.3 配置httpd 3. 编译及安装4. 优化配置4.1 配置文件路径4.2 添加httpd系统服务方法一使用init.d方法二使用systemd 5. 修改httpd服务配置文件5.1 编辑httpd.conf5.2 检查配置文件并重启服务 6. 浏览器访问验证6.1 检查端口监听6.2 添加hosts记录6.3 访问测试 编译安装MySQL服务完整指南一、前期准备二、配置与编译三、设置与启动四、安全配置注意事项 编译安装PHP解析环境及论坛搭建指南一、编译安装PHP解析环境二、安装论坛注意 LAMP架构概述
LAMP架构是企业级网站应用开发中广泛采用的一种成熟模式它代表了一套协同工作的系统和软件组合专为提供动态Web站点服务及其应用开发环境而设计。LAMP是Linux、Apache、MySQL、PHP或Perl、Python四个组件首字母的缩写每个组件都扮演着关键角色。
各组件的主要作用
Linux平台 作为LAMP架构的基础Linux提供了稳定且高效的操作系统环境为Web站点提供坚实的支撑。其强大的兼容性和稳定性使得AMP组件Apache、MySQL、PHP/Perl/Python能够在其上顺畅运行同时也支持跨平台部署尽管AMP本身也兼容Windows、UNIX等平台。 Apache前台 作为LAMP架构的前端Apache是一款广受欢迎的Web服务器软件以其强大的功能和卓越的稳定性著称。它直接面向用户负责处理来自客户端的请求发送网页、图片等文件内容是用户与Web站点之间交互的桥梁。 MySQL后台 MySQL是LAMP架构中的数据库服务器组件是一款开源的关系数据库管理系统。它负责存储网站和应用程序所需的各种数据如账户信息、产品信息、客户资料、业务数据等。通过SQL语句其他程序可以方便地查询、更新这些信息实现数据的动态管理和交互。 PHP/Perl/Python中间连接 这三种编程语言在LAMP架构中扮演着沟通Web服务器和数据库系统的关键角色。它们负责解释和执行动态网页文件将用户请求的数据传递给数据库并将数据库返回的结果以网页形式展示给用户。其中PHP因其易于学习、广泛支持和与HTML紧密集成的特性在Web应用开发中尤为受欢迎。
构建LAMP平台的安装顺序
在构建LAMP平台时通常按照Linux、Apache、MySQL、PHP的顺序进行安装。虽然Apache和MySQL的安装顺序并不严格但PHP环境的安装一般放在最后以确保它能够正确地与Web服务器和数据库系统协同工作。这样的安装顺序有助于避免依赖性问题并确保整个系统的稳定性和兼容性。
编译安装Apache httpd服务指南
1. 准备工作
1.1 关闭防火墙并传输软件包
systemctl stop firewalld
systemctl disable firewalld
setenforce 0将以下软件包传到/opt目录下
httpd-2.4.29.tar.gzapr-1.6.2.tar.gzapr-util-1.6.0.tar.gz
1.2 安装环境依赖包
yum -y install gcc gcc-c make pcre pcre-devel expat-devel perl2. 配置软件模块
2.1 解压软件包
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.bz22.2 移动apr组件包
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-util2.3 配置httpd
cd /opt/httpd-2.4.29/
./configure --prefix/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi3. 编译及安装
make
make install4. 优化配置
4.1 配置文件路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/4.2 添加httpd系统服务
方法一使用init.d
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod x /etc/init.d/httpd
# 编辑/etc/init.d/httpd文件添加以下内容
#!/bin/bash
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server
chkconfig --add httpd
systemctl start httpd.service
# 或
service httpd start方法二使用systemd
vim /lib/systemd/system/httpd.service
# 编辑httpd.service文件添加或修改以下内容
[Unit]
DescriptionThe Apache HTTP Server
Afternetwork.target
[Service]
Typeforking
PIDFile/usr/local/httpd/logs/httpd.pid
ExecStart/usr/local/bin/apachectl $OPTIONS
ExecReload/bin/kill -HUP $MAINPID
[Install]
WantedBymulti-user.target
systemctl start httpd.service
systemctl enable httpd.service5. 修改httpd服务配置文件
5.1 编辑httpd.conf
vim /etc/httpd.conf
# 修改以下行
Listen 192.198.80.10:80
ServerName www.kgc.com:80
DocumentRoot /usr/local/httpd/htdocs
DirectoryIndex index.html5.2 检查配置文件并重启服务
httpd -t # 或 apachectl -t
systemctl restart httpd.service6. 浏览器访问验证
6.1 检查端口监听
netstat -anpt | grep 806.2 添加hosts记录
echo 192.168.80.10 www.kgc.com /etc/hosts6.3 访问测试
在浏览器中输入以下地址进行测试
http://192.168.80.10http://www.kgc.com
编译安装MySQL服务完整指南
一、前期准备
传输软件包 将以下软件包传输到/opt目录下 mysql-5.7.17.tar.gzboost_1_59_0.tar.gz 支持C的运行库 安装环境依赖包 运行以下命令安装必要的编译工具和库 gcc gcc-c ncurses \ #字符终端下图形互动功能的动态库 ncurses-devel \ #ncurses开发包 bison \ #语法分析器 cmake #mysql需要用cmake编译安装yum -y install gcc gcc-c ncurses ncurses-devel bison cmake openssl-devel二、配置与编译 解压软件包 tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz
cd /opt
mv boost_1_59_0 /usr/local/boost #重命名配置CMake 进入MySQL源码目录并执行CMake配置 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报错删除CMakeCache.txt后重试。 存储引擎选项 MYISAMMERGEMEMORY和CSV引擎是默认编译到服务器中并不需要明确地安装。 静态编译一个存储引擎到服务器使用-DWITH_engine_STORAGE_ENGINE 1 可用的存储引擎值有ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
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编译及安装make make install三、设置与启动 创建MySQL用户 useradd -M -s /sbin/nologin mysql修改MySQL配置文件 编辑/etc/my.cnf文件设置相关参数如端口、字符集、数据目录等。
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-serverutf8mb4 #设置服务器字符集编码格式为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后不能用双引号来引用字符串因为它被解释为识别符
[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-serverutf8mb4
pid-file /usr/local/mysql/mysqld.pid
socket/usr/local/mysql/mysql.sock
bind-address 0.0.0.0
skip-name-resolve
max_connections4096
default-storage-engineINNODB
max_allowed_packet32M
server-id 1sql_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_QUOTES更改文件权限 chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf设置环境变量 echo export PATH/usr/local/mysql/bin:$PATH /etc/profile
source /etc/profile初始化数据库 cd /usr/local/mysql/bin/
./mysqld --initialize-insecure --usermysql --basedir/usr/local/mysql --datadir/usr/local/mysql/data--initialize-insecure \ #生成初始化密码为空
--usermysql \ #指定管理用户
--basedir/usr/local/mysql \ #指定数据库的安装目录
--datadir/usr/local/mysql/data #指定数据库文件的存储路径添加系统服务cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
netstat -anpt | grep 3306cp /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 #查看端口四、安全配置
修改登录密码mysqladmin -u root password abc123授权远程登录 登录MySQL并执行mysql -u root -p
grant all privileges on *.* to root% identified by abc123;
show databases;grant all privileges on *.* to root% identified by abc123;
#授予root用户可以在所有终端远程登录使用的密码是abc123并对所有数据库和所有表有操作权限show databases; #查看当前已有的数据库注意事项
在生产环境中请务必修改默认的root密码并限制远程访问权限以提高安全性。定期备份数据库以防数据丢失。根据实际需求调整my.cnf中的配置参数。
编译安装PHP解析环境及论坛搭建指南
一、编译安装PHP解析环境 传输PHP软件包 将php-7.1.10.tar.bz2传输到/opt目录下。 安装依赖库 运行以下命令安装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配置PHP模块 cd /opt
tar xf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
./configure --prefix/usr/local/php --with-apxs2/usr/local/httpd/bin/apxs --with-mysql-sock/usr/local/mysql/mysql.sock --with-config-file-path/usr/local/php/lib --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer --enable-zipcd /opt
tar xf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
./configure \
--prefix/usr/local/php \ #指定将 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/php/lib #设置 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压缩格式编译及安装PHP make make install设置环境变量 创建符号链接以便系统识别PHP可执行程序 ln -s /usr/local/php/bin/* /usr/local/bin/
php -m # 查看加载的模块配置PHP主文件 复制并修改php.ini文件 cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini#在测试环境时使用php.ini-development文件而在生产环境时使用php.ini-production文件
vim /usr/local/php/lib/php.ini # 修改mysqli.default_socket和date.timezone
--1170行--修改
mysqli.default_socket /usr/local/mysql/mysql.sock
--939行--取消注释修改
date.timezone Asia/Shanghai配置Apache支持PHP 编辑httpd.conf文件以添加PHP类型支持并修改首页文件 vim /etc/httpd.conf
# 插入AddType行并修改DirectoryIndex
--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验证PHP测试页 创建index.php文件并重启Apache服务然后在浏览器中访问测试。 rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
?php
phpinfo();
?systemctl restart httpd.service浏览器访问 http://192.168.80.10主机地址
二、安装论坛 创建数据库并授权 登录MySQL创建数据库及用户并授予权限 mysql -u root -p
CREATE DATABASE bbs;#创建数据库
GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY admin123;#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123
flush privileges;#刷新数据库
show databases;解压论坛压缩包 解压并将论坛文件复制到Apache的htdocs目录下 unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/httpd/htdocs/bbs#上传站点更新包更改论坛目录权限 根据论坛进程用户名修改相关目录权限 chown -R daemon ./config ./data ./uc_client ./uc_server/data验证论坛访问 在浏览器中访问论坛页面及后台管理员页面进行验证。
论坛页面访问 http://192.168.80.10/bbs
数据库服务器localhost #本地架设就用localhost如何不是在在本机上就要填写IP地址和端口号 数据库名字bbs 数据库用户名bbsuser 数据库密码admin123 管理员账号:admin 管理员密码:admin123
论坛后台管理员页面 http://192.168.80.10/bbs/admin.php
注意
确保所有路径和配置文件中的设置正确无误。根据实际环境调整数据库服务器地址、端口及登录凭证。定期备份重要数据和配置文件以防丢失。在生产环境中加强安全设置如限制远程访问、使用强密码等。