运维开发宝典023-WEB网站服务

运维开发宝典023-WEB网站服务 大家好我是云计算磊哥从业20年的IT老鸟。运维培训15年总结了一套从入门到精通的全运维开发宝典手册。准备用300天时间写一套博文手把手从安装软件讲起从行业到产品从过去到未来从理论到操作从视频到文档工具一站式。从零基础入门到20k运维开发工程师岗位诸多就业问题。多方位全方面的给你讲清楚云计算这个行业该如何做。关注我。后续更精彩。本文讲解了关于WEB服务器的相关概念以及虚拟主机技术。构建论坛博客系统WEB实战。Apache服务器1 简介1.1 前言UI的转变B/S架构1.2 名词HTMLHyperText Markup Language网页使用HTML,PHP,JAVA语言格式书写的文件。主页网页中呈现用户的第一个页面。URLUniform Resource Locator统一资源定位符1.3 Web ServerNginxTengine、Apache、IIS1.4 静态元素.html .img .css .swf .mp4 .jpg .png .gif1.5 动态元素.php .jsp .cgi .asp SQL1.6 Web 中间件php: PHP-fpm、HHVMjsp: Tomcat、JBOSS、Resin、IBM WebSphere1.7 常见组合方式LNMP (Linux Nginx MySQL PHP) //php-fpm进程LAMP (Linux Apache MySQL PHP) //php作为Apache的模块Nginx Tomcat //取代Apache与Tomcat结合,java2 静态站点2.1 Apache基础Apache: www.apache.org软件包 httpd服务端口: 80/tcp(http) 443/tcp(https,httpssl)配置文件: /etc/httpd/conf/httpd.conf/etc/httpd/conf.d/*.conf/etc/httpd/conf.d/welcome.conf //默认测试页面2.2 安装Apache[rootapache ~]# yum -y install httpd[rootapache ~]# systemctl start httpd[rootapache ~]# systemctl enable httpd[rootapache ~]# systemctl stop firewalld2.3 虚拟主机目的虚拟主机VirtualHost 在一台物理服务器上运行多个网站类型基于主机名 基于IP地址 基于端口号配置虚拟主机实现如下网站www.a.org /var/www/html/a.org www.b.org /b.org 注意关闭firewalld和selinuxwww.a.org# mkdir /var/www/html/a.org# vim /var/www/html/a.org/index.html创建a.org的配置文件# vim /etc/httpd/conf.d/a.org.confVirtualHost *:80ServerName www.a.org DocumentRoot /var/www/html/a.org/VirtualHost检测配置文件语法重启服务# httpd -t# systemctl restart httpdwww.b.org# mkdir /b.org# vim /b.org/index.html创建b.org的配置文件# vim /etc/httpd/conf.d/b.org.confVirtualHost *:80ServerName www.b.org DocumentRoot /b.org/VirtualHostDirectory/b.orgRequire all granted/Directory检测配置文件语法重启服务# httpd -t# systemctl restart httpd注意域名解析。www.b.org 测试yuminstall-yelinks elink www.b.org3 动态站点3.1 图解动态网站架构4 测试LAMP环境4.1 Apache4.2 Apache基础Apache: www.apache.org软件包 httpd服务端口: 80/tcp(http) 443/tcp(https,httpssl)配置文件: /etc/httpd/conf/httpd.conf/etc/httpd/conf.d/*.conf/etc/httpd/conf.d/welcome.conf //默认测试页面4.3 安装Apache[rootapache ~]# yum -y install httpd[rootapache ~]# systemctl start httpd[rootapache ~]# systemctl enable httpd4.5 防火墙[rootapache ~]# sed -ri /^SELINUX/cSELINUXdisabled /etc/selinux/config[rootapache ~]# setenforce 0[rootapache ~]# firewall-cmd --permanent --add-servicehttp[rootapache ~]# firewall-cmd --permanent --add-servicehttps[rootapache ~]# firewall-cmd --reload4.6 测试页1建立静态页面。[rootapache ~]# vim /var/www/html/index.html1802test 请注意观察测试是否成功。2建立动态页面。[rootapache ~]# vim /var/www/html/2.php?php phpinfo();?请观察测试是否成功NO4.7 安装PHP之所以测试不成功。是因为没有人解析动态语言。[rootapache ~]# yum -y install php //php作为Apache的模块观察安装后的结果。[rootapache ~]# ll /etc/httpd/modules/libphp5.so-rwxr-xr-x.1root root4588368Jun242015/etc/httpd/modules/libphp5.so[rootapache ~]# ll /etc/httpd/conf.d/php.conf-rw-r--r--.1root root691Jun242015/etc/httpd/conf.d/php.conf 重新启动网站程序。调动php模块[rootapache ~]# systemctl restart httpd请再次刷新页面。见下图。PHP语言被解析成功。请思考。PHP查询的数据存放在哪里在数据库中。4.8 安装数据库[rootapache ~]# yum -y install mariadb-server mariadb[rootapache ~]# systemctl start mariadb.service[rootapache ~]# systemctl enable mariadb.service增强mysql。[rootapache ~]# mysql_secure_installation //提升mariadb安全 [可选]Set root password?[Y/n]New password:123Re-enter new password:123手动测试账号密码。[rootapache ~]# mysql -uroot -p123 //登录mariadb测试MariaDB[(none)]\q[rootapache ~]# rm -rf /var/www/html/*[rootapache ~]# vim /var/www/html/index.php?php$linkmysql_connect(localhost,root,123);if($link)echoSuccessfuly;elseechoFaile;mysql_close();?请思考。数据库是否可以连接成功。测试结果 php无法连接mysql 。因为缺少php连接mysql的工具4.9 配置php配置php连接Mariadb[rootapache ~]# yum -y install php-mysql[rootapache ~]# php -m //查看php有哪些扩展[PHP Modules]mysql mysqli[rootapache ~]# systemctl restart httpd4.9 Apache基本配置[rootlocalhost ~]# vim /etc/httpd/conf/httpd.confServerRoot/etc/httpd//安装目录 Listen80//监听端口 IncludeOptional conf.d/*.conf //包含conf.d下的*.conf文件 User apache //运行Apache的用户 Group apache //运行Apache的用户组 DirectoryIndex index.html index.php //设置默认主页用一个。 DocumentRoot //站点默认主目录5 部署网上商城 ecshop5.1 Logo5.2 基础环境[rootapache ~]# sed -ri /^SELINUX/cSELINUXdisabled /etc/selinux/config[rootapache ~]# setenforce 0[rootapache ~]# systemctl stop firewalld.service[rootapache ~]# systemctl disable firewalld.service5.3 安装LAMP[rootapache ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd[rootapache ~]# systemctl start httpd mariadb[rootapache ~]# systemctl enable httpd mariadb5.4 安装Ecshop上传站点源码包[rootapache ~]# mkdir -p /webroot/abc [rootapache ~]# unzip ECShop_V3.0.0_UTF8_release0518.zip //官网下载或学校FTP [rootapache ~]# cp -rf ECShop_V3.0.0_UTF8_release0518/* /webroot/abc/ [rootapache ~]# chmod -R 777 /webroot/abc/配置HTTP虚拟主机[rootapache ~]# vim /etc/httpd/conf.d/abc.conf 添加如下内容httpd-thttpd配置文件语法检测[rootapache ~]# systemctl restart httpd配置域名解析[rootlocalhost ~]# vim /etc/hosts //如果没有使用DNS解析192.168.122.161 www.abc.top abc.top //161为 web server IP修改php.ini时区[rootapache ~]# vim /etc/php.ini[rootapache ~]# systemctl restart httpd5.5 前台安装源码包5.6 使用商城再次打开浏览器访问服务器IP地址即可。略6 部署论坛系统discuz6.1 Logo6.2 基础环境[rootapache ~]# sed -ri /^SELINUX/cSELINUXdisabled /etc/selinux/config[rootapache ~]# setenforce 0[rootapache ~]# systemctl stop firewalld.service[rootapache ~]# systemctl disable firewalld.service6.3 安装LAMP[rootapache ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd[rootapache ~]# systemctl start httpd mariadb[rootapache ~]# systemctl enable httpd mariadb[rootapache ~]# mysql_secure_installation //可选设置密码6.4 安装Discuz导入discuz网站源码[rootapache ~]# mkdir /webroot/discuz[rootapache ~]# tar xf Discuz_X3.4_SC_UTF8.zip[rootapache ~]#cp -rf upload/* /webroot/discuz/[rootapache ~]#chown -R apache.apache /webroot/discuz/Apache 配置虚拟主机[rootapache ~]# vim /etc/httpd/conf.d/discuz.confVirtualHost *:80ServerName www.discuz.com DocumentRoot /webroot/discuz/VirtualHostDirectory/webroot/discuzRequire all granted/Directory[rootapache ~]# systemctl restart httpd准备数据库[rootlocalhost discuz]# mysqlMariaDB[(none)]create database discuz;MariaDB[(none)]show databases;|discuz|配置域名解析[rootlocalhost ~]# vim /etc/hosts192.168.122.161 www.abc.top abc.top www.abc.com www.discuz.com //161为 web server IP前台安装discuz前台使用Linux入门阶段 配套视频 https://edu.csdn.net/course/detail/40861Linux 系统管理阶段的学习本章至此已圆满完成我们系统掌握了用户权限、进程管理、计划任务、日志服务、网络配置、文件共享及域名解析等核心运维技能为服务器稳定运行与服务搭建打下了坚实基础。接下来将进入MySQL 数据库运维阶段重点学习数据库安装配置、用户与权限管理、数据备份恢复、性能优化及故障排查实现从系统运维到数据运维的全面进阶。mysql阶段 配套视频 https://edu.csdn.net/course/detail/40864