2026/1/16 14:43:20
网站建设
项目流程
富阳网站开发,建设部网站核对编号,石家庄做网站公司的电话,英文网站建设 济南LAMP项目部署
课程目标 掌握LAMP项目的特点 完成Discuz!论坛系统部署#xff08;yum安装#xff09; 完成wordpress博客系统部署#xff08;源码安装#xff09;
课程实验 LAMP系统概述 Discuz!论坛系统部署 wordpress博客系统部署
课堂引入
运维最本质的工作就是…LAMP项目部署课程目标掌握LAMP项目的特点完成Discuz!论坛系统部署yum安装完成wordpress博客系统部署源码安装课程实验LAMP系统概述Discuz!论坛系统部署wordpress博客系统部署课堂引入运维最本质的工作就是将开发好项目部署到服务器上面并保证服务器的正常运行。授课进程一、LAMP概述1、概述LAMP架构是目前应用最为成熟的企业网站应用模式之一指的是协同工作的一整套系统和相关软件能够提供动态Web站点服务及其应用开发环境。LAMP这个词是一个缩写具体包括Linux操作系统、Apache网站服务器、MySOL数据库服务器PHP (或PerI、Python)网页编程语言。2、组件作用(平台)Linux作为LAMP架构的基础提供用于支撑Web站点的操作系统能够与其他三个组件提供更好的稳定性兼容性(AMP组件也支持Windows、UNIX等平台) 。(前台)Apache作为LAMP架构的前端是一款功能强大稳定性好的Web服务器程序该服务器直接面向用户提供网站访问发送网页图片等文件内容。(后台)MySQL作为LAMP架构的后端是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中各种账户信息、产品信息客户资料、业务数据等都可以存储到MySQL数据库其他程序可以通过SQL语句来查询更改这些信息。(中间连接)PHP/Perl/Python作为三种开发动态网页的编程语言负责解释动态网页文件负责沟通Web服务器和数据库系统以协同工作并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言它可以嵌入到HTML中尤其适合于Web应用开发。3、构建顺序在构建LAMP平台时各组件的安装顺序依次为LinuxApacheMySQLPHP其中Apache和MySQL的安装并没有严格的顺序要求而PHP环境的安装一般放到最后负责沟通web服务器和数据库系统以协同工作4、其它形式除了LAMP架构之外目前还存在一些其它形式的架构比如LNMPLinux Nginx MySQL php-fpm 目前比较主流的架构方式LNTMJ: Linux Nginx Tomcat Mysql JDK JAVALNMPALinux Nginx MySQL PHP Apache二、Discuz!论坛系统部署1、环境准备1准备一台新的服务最小化安装配置好网络及设置好IPsystemctl stop NetworkManager systemctl disable NetworkManager vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTOdhcp dhcp - static ONBOOTno no - yes # 在下面手动绑定IP地址 IPADDR192.168.217.132 GATEWAY192.168.217.2 NETMASK255.255.255.0 DNS1114.114.114.114 systemctl restart network # 重启网络 ping www.baidu.com2设置主机名hostnamectl set-hostname server01.com # 修改主机名 su - root # 切换用户3关闭防火墙# 关闭firewalld防火墙 systemctl stop firewalld # 关闭firewalld防火墙 systemctl disable firewalld # 关闭开机自启动 # 关闭selinux防火墙 setenforce 0 # 临时关闭selinux vim /etc/selinux/config # 修改配置文件永久关闭selinux # 修改的内容SELINUXdisabled4配置yum源备份文件cd /etc/yum.repos.d/ tar -zcvf repo.tar.gz *.repo # 将所有的.repo文件打包压缩成repo.tar.gz rm -rf *.repo # 删除所有的repo文件配置阿里云镜像源curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 下载文件 yum clean all # 清除缓存 yum makecache # 重新建立缓存索引配置扩展镜像源yum install epel-release -y2、安装Apache1检查Apache是否安装使用rpm命令检查Apache是否安装命令rpm 作用查询软件的安装情况 语法rpm [选项] | grep 软件名称 参数选项 -q查询query -a全部all -e卸载 -iinstall安装 -v显示进度条 -h表示以#形式显示进度条 -Uupgrade升级 rpm -qa | grep httpd2yum安装Apache使用yum命令安装httpd软件包yum install httpd -y3修改配置文件配置/etc/httpd/conf/httpd.conf文件vim /etc/httpd/conf/httpd.conf # 搜索ServerName在下面添加一行指定访问的端口号是80端口 ServerName localhost:80修改完成之后一定要重启httpd服务systemctl restart httpd4查看监听端口使用netstat -ntlp命令查看是否有80端口监听netstat -ntlp | grep 80-bash: netstat: 未找到命令yum install net-tools -y5设置为开机启动设置为开机自启动这样就不用每次开机都需要重启httpd服务systemctl enable httpd6访问测试查看服务器的IP打开浏览器在浏览器中输入以下地址http://192.168.217.132/3、安装MySQL1检查MySQL是否安装使用rpm命令检查MySQL是否安装rpm -qa | grep mysql2下载mysql的yum源由于yum源上默认没有mysql-server。所以必须去官网下载后在安装wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm3安装MySQL安装mysql的客户端rpm -ivh mysql-community-release-el7-5.noarch.rpm安装MySQL服务端yum -y install mysql-community-server4启动MySQLsystemctl restart mysqld启动之后可以监听3306端口netstat -ntlp | grep mysql5初始化MySQL初始化数据库默认情况下数据库没有密码也没有任何数据必须要初始化mysql自己带的初始化程序mysql_secure_installationmysql_secure_installation输入root账号旧密码设置超级管理员root密码注默认为空直接回车即可移除匿名账户不禁用root远程连接不移除默认数据库测试用例重新加载权限添加为开启自启动systemctl enable mysqld连接MySQL可以通过mysql命令连接MySQL数据库。也可以通过外部的MySQL客户端工具进行连接mysql -uroot -p123456 #含义 # mysql : mysql客户端连接MySQL服务 # -uroot : 指定连接使用的账号为root # -p123456 : 指定连接账号的秘密为123456查看数据库show databases; # 查看数据库中的所有的库注意后面一定要带上分号 exit # 退出MySQL客户端4、安装PHP1检查PHP是否安装rpm -qa | grep php2yum命令安装phpyum -y install php3重启httpd服务更改php配置一定要重启httpd服务systemctl restart httpd4测试LAMP环境是否可以使用使用cd命令进入/var/www/html目录cd /var/www/html/使用vim命令创建index.php文件vim index.php编写php代码?php echo cloud; ?4测试在浏览器中输入地址http://192.168.217.132/5、部署Discuz!论坛1Discuz论坛概述Discuz! 超过300万站长使用全球成熟度最高、覆盖率最大的建站系统之一拥有超过7000款应用。站长可以方便的通过 Discuz! 搭建社区论坛、知识付费网站、视频直播点播站、企业网站、同城社区、小程序、APP、图片素材站游戏交流站电商购物站、小说阅读、博客、拼车系统、房产信息、求职招聘、婚恋交友等等绝大多数类型的网站。Discuz!自2001年6月面世以来已有22年的历史Discuz!性能优异、功能全面、安全稳定在社区论坛BBS软件领域全球市场占有率第一2下载源代码下载地址https://gitee.com/Discuz/DiscuzX3上传代码将下载的压缩包文件上传到服务器的家目录中4解压缩安装zip解压缩的应用unzipyum install unzip -y解压缩文件unzip DiscuzX-v3.5.zip5将源码移动到/var/www/html目录中mv upload/* /var/www/html6、安装Discuz!论坛1升级php版本yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum -y install yum-utils yum-config-manager --enable remi-php73 yum install -y php systemctl restart httpd2设置目录的写权限chmod -R aw /var/www/html/3安装MySQL的插件yum -y install php-mysqli systemctl restart mysqld systemctl restart httpd4安装php的插件yum install php-xml -y systemctl restart httpd5指定安装方式6配置数据库7、访问测试1访问网站2访问后台http://192.168.217.132/admin.php?framesyesactionstyles三、wordpress博客系统部署1、环境准备1准备一台新的服务最小化安装配置好网络及设置好IPsystemctl stop NetworkManager2设置主机名hostnamectl set-hostname server01.com3关闭防火墙systemctl stop firewalld # 关闭firewalld防火墙 systemctl disable firewalld # 关闭开机自启动 setenforce 0 # 临时关闭selinux vim /etc/selinux/config # 修改配置文件永久关闭selinux # 修改的内容SELINUXdisabled4配置yum源备份文件cd /etc/yum.repos.d/ tar -zcvf repo.tar.gz *.repo # 将所有的.repo文件打包压缩成repo.tar.gz rm -rf *.repo # 删除所有的repo文件配置阿里云镜像源curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 下载文件 yum clean all # 清除缓存 yum makecache # 重新建立缓存索引配置扩展镜像源yum install epel-release -y2、上传安装包将素材中的源码包上传到root账号的家目录中3、编译安装MySQL1安装需求软件版本安装目录数据目录端口mysql-5.6.31/usr/local/mysql/usr/local/mysql/data33062创建mysql用户useradd -r -s /sbin/nologin mysql-r : 表示创建一个系统用户-s : 表示指定执行的shell3解压软件tar -zxvf mysql-5.6.31.tar.gz # 解压缩mysql cd mysql-5.6.31 # 进入到mysql目录4源码配置在配置之前需要安装一些必要的插件如gcccmake等yum install gcc-c -y yum install cmake -y yum -y install ncurses-devel yum -y install autoconf配置选项说明cmake . \ -DCMAKE_INSTALL_PREFIX/usr/local/mysql/ \ # 安装路径 -DMYSQL_DATADIR/usr/local/mysql/data \ # 数据目录 -DENABLED_LOCAL_INFILE1 \ # 开启加载外部文件功能1开启0关闭 -DWITH_INNOBASE_STORAGE_ENGINE1 \ # 将InnoDB存储引擎静态编译到服务器 -DMYSQL_TCP_PORT3306 \ # 端口 -DDEFAULT_CHARSETutf8mb4 \ # 字符集 -DDEFAULT_COLLATIONutf8mb4_general_ci \ # 字符校验规则 -DWITH_EXTRA_CHARSETSall \ # 扩展字符集 -DMYSQL_USERmysql # 用户身份mysql编写一个cmake.sh脚本用于执行配置选项不然直接执行容易出错换行之类的vim cmake.sh # 将以下内容复制到脚本中 #!/bin/bash cmake . \ -DCMAKE_INSTALL_PREFIX/usr/local/mysql/ \ -DMYSQL_DATADIR/usr/local/mysql/data \ -DENABLED_LOCAL_INFILE1 \ -DWITH_INNOBASE_STORAGE_ENGINE1 \ -DMYSQL_TCP_PORT3306 \ -DDEFAULT_CHARSETutf8mb4 \ -DDEFAULT_COLLATIONutf8mb4_general_ci \ -DWITH_EXTRA_CHARSETSall \ -DMYSQL_USERmysql给脚本添加可执行的权限执行脚本chmod ax cmake.sh ./cmake.sh5编译并安装make make install整个编译安装的过程大约持续10-15分钟左右6更改数据目录权限chown -R mysql.mysql /usr/local/mysql/7初始化数据库前提# 清空环境 rm -f /etc/my.cnf # 删除mysql相关的进程 ps -ef|grep mysqld # pkill -9 mysqld初始化数据库cd /usr/local/mysql/ ./scripts/mysql_install_db --usermysql8拷贝启动脚本pwd # 确认自己是否已经处于mysql的安装目录中 cp support-files/mysql.server /etc/init.d/mysql # 拷贝文件9启动数据库# 启动前确认3306端口没有被占用,如果3306端口被占用请kill掉之前的mysqld程序如果没有被占用此步省略 netstat -nltp|grep 3306 # 启动mysql(注意此处不用systemctl命令) service mysql start10设置密码/usr/local/mysql/bin/mysqladmin -u root password 12345611测试验证cd /usr/local/mysql/bin # 切换到mysql的二进制目录中 ./mysql -uroot -p123456问如果想要任何地方都可以执行MySQL命令该怎么处理答配置环境变量临时解决export PATH/usr/local/mysql/bin/:$PATH永久解决vim /etc/profile在文件的最后追加export PATH/usr/local/mysql/bin/:$PATH配置文件生效source /etc/profile4、编译安装Apache1安装需求版本安装路径httpd-2.4.37/usr/local/2安装依赖安装apr软件yum -y install bzip2 # 安装bzip2 tar -xf apr-1.5.2.tar.bz2 # 解压缩软件 cd apr-1.5.2 # 进入目录 ./configure # 配置 make make install # 编译并安装安装apr-util软件tar -xf apr-util-1.5.4.tar.bz2 # 解压缩软件 cd apr-util-1.5.4 # 进入目录 ./configure --with-apr/usr/local/apr/bin/apr-1-config # 配置 make make install # 编译并安装yum install -y bzip2安装pcre-develyum -y install pcre-devel安装openssl-develyum -y install openssl-devel3解压软件tar -xvf httpd-2.4.37.tar.bz2 cd httpd-2.4.374配置配置选项说明# ./configure --enable-modulesall # 加载所有支持模块 --enable-mods-sharedall # 共享方式加载大部分常用的模块 --enable-so # 启动动态模块加载功能 --enable-rewrite # 启用url地址重写功能 --enable-ssl # 编译ssl模块支持https --with-pcre # 支持正则表达式 --with-apr/usr/local/apr/bin/apr-1-config # 指定依赖软件apr路径 --with-apr-util/usr/local/apr/bin/apu-1-config --with-mpmprefork # 插入式并行处理模块称为多路处理模块Prefork 是类UNIX平台上默认的MPM编写一个apache.sh脚本用于执行配置选项不然直接执行容易出错换行之类的#!/bin/bash ./configure \ --enable-modulesall \ --enable-mods-sharedall \ --enable-so \ --enable-rewrite \ --with-pcre \ --enable-ssl \ --with-mpmprefork \ --with-apr/usr/local/apr/bin/apr-1-config \ --with-apr-util/usr/local/apr/bin/apu-1-configchmod x apache.sh ./apache.sh5编译安装make make install6测试验证生成如下目录即表示Apache安装成功进入bin目录执行./httpd在浏览器输入地址http://192.168.217.132/5、编译安装PHP1安装依赖yum install libcurl-devel -y yum install libxml2-devel -y yum install libjpeg-devel -y yum install libpng-devel -y yum install freetype-devel -y2解压软件tar -xvf php-7.2.17.tar.xz cd php-7.2.173配置配置选项说明./configure \ --with-apxs2/usr/local/apache2/bin/apxs \ # 指定apxs路径,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具 --with-mysqli \ # 以下三个是php的扩展用于连接mysql数据库的 --with-pdo-mysql \ --with-zlib \ --with-curl \ --enable-zip \ --with-gd \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --enable-opcache \ --enable-mbstring \ --enable-mbregex \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-calendar \ --enable-bcmath编写一个php.sh脚本用于执行配置选项不然直接执行容易出错换行之类的#!/bin/bash ./configure \ --with-apxs2/usr/local/apache2/bin/apxs \ --with-mysqli \ --with-pdo-mysql \ --with-zlib \ --with-curl \ --enable-zip \ --with-gd \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --enable-opcache \ --enable-mbstring \ --enable-mbregex \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-calendar \ --enable-bcmathchmod x php.sh ./php.sh4编译安装makemake install5测试验证确认php成功安装/usr/local/apache2/modules/libphp7.so确认有这个libphp7.so模块文件就表示编译php成功6、配置PHP1修改Apache主配置文件vim /usr/local/apache2/conf/httpd.conf# 搜索ServerName在下面添加一行指定访问的端口号是80端口 ServerName localhost:80 # 配置语言支持 LoadModule negotiation_module modules/mod_negotiation.so # 此模块打开注释 Include conf/extra/httpd-languages.conf # 打开此选项扩展配置文件就生效了 # 加载php模块解析php页面,添加两行告诉httpd把.php文件交给模块去编译 LoadModule php7_module modules/libphp7.so # 找到这一句在这句下面加上两句 # 添加以下两行意思是以.php结尾的文件都认为是php程序文件注意两句话的.php前面都是有一个空格的 AddHandler php7-script .php AddType text/html .php # 默认主页加上index.php,并放在index.html前,支持php的首页文件 IfModule dir_module DirectoryIndex index.php index.html /IfModule2修改Apache的子配置文件vim /usr/local/apache2/conf/extra/httpd-languages.confDefaultLanguage zh-CN # 打开注释默认语言集改为中文 LanguagePriority zh-CN en ca cs # 语言集优先集把zh-CN 写到前面7、启动测试环境1添加测试文件cd /usr/local/apache2/htdocs rm -f index.html vim index.php ?php phpinfo(); ?2启动Apache如果之前已经启动过了httpd则先关闭掉在重启启动ps -ef | grep httpd killall httpdyum install psmisc -y启动httpdcd /usr/local/apache2/bin/ ./apachectl3访问测试浏览器里输入http://192.168.217.1328、部署web应用1解压缩项目tar -zxvf wordpress-5.2.2-zh_CN.tar.gz2将源码复制到指定目录cp -R wordpress/* /usr/local/apache2/htdocs3创建数据库mysql -uroot -p123456 create database wordpress default charset utf8;9、测试验证1访问浏览器里输入http://192.168.217.1322设置权限chown -R daemon.daemon /usr/local/apache2/htdocs/课堂小结LAMP系统概述Discuz!论坛系统部署wordpress博客系统部署课后作业完成课堂的案例及练习将今天的内容整理为思维导图的形式扩展内容无