LAMP架构部署和动态网站环境的配置
实验环境:
操作系统:centos 7.5
服务器IP:192.168.10.5
运行用户:root
连接工具:xshell工具
web环境:Linux+apache+php+mariadb(LAMP架构)
大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。这些东西都需要依靠web服务器来支撑,里面应用到的技术有单节点web服务器系统、负载均衡系统、数据集群系统、缓存系统、分布式存储系统、分布式服务器管理系统、代码发布系统等,现在企业一般都流行使用自动化系统部署,可以把web业务全部跑在docker容器中,简化了运维配置流程,下面我们简单的介绍下web服务器单节点的部署及使用。
本文属于原创,比较适合企业应用,具体详细的介绍可以参考《Linux就该这么学》里边教程的第20章,里面详细的介绍了LNMP架构,而我这里是介绍LAMP架构,LAMP、LNMP在企业都应用比较广泛,一般大型企业网站都会在Linux服务器上面跑,节约资源、提高web服务器性能及安全性。
单节点web服务器
通过系统自带的yum源安装,也可以通过本地镜像配置本地yum源,还可以通过rpm包或者tar.gz源码包编译后再安装;通过yum安装是比较方便的,安装过程会自动把依赖包自动安装上去;通过rpm包安装过程中需要根据提示寻找依赖包,这种安装方式比较麻烦;下面我们来通过yum源安装方式来演示给大家看。
apache是一款开源的web服务器,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之最,apache在企业应用也是比较广泛的。特别是结合Linux操作系统发挥最优的性能。
1、install apache
# yum install httpd.x86_64 httpd-devel.x86_64 -y //安装apache
# rpm -qa httpd //查看apache是否安装成功
# httpd -v //查看apache版本
Server version: Apache/2.4.6 (CentOS)
Server built: Jun 27 2018 13:48:59
# systemctl start httpd.service //启动apache服务
# systemctl status httpd.service //查看apache服务状态
# systemctl stop httpd.service //停止apache服务
# systemctl enable httpd.service //设置开机自动启动apache服务
apache默认配置文件路径:/etc/httpd/
apache默认web路径:/var/www/html ,默认里面是空目录
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言;PHP 是开源的,并且使用非常广泛;同时,对于像微软 asp、asp.net服务器脚本语言竞争者来说,PHP 无疑是另一种高效率的选项,PHP有点:开源性、处理快、易上手、跨平台,效率高、适用于大型网站架构,一般PHP都是结合Linux apache nginx mysql;iis+php极少,配置复杂、性能差。下面就简单介绍下php的安装及配置。
2、install php
# yum install php php-common php-fpm php-gd php-soap php-json php-ldap php-mbstring php-mysqlnd php-mysqld php-xml php-xmlrpc php-opcache php-simplexml php-bcmath -y
# rpm -qa php* //查看安装的PHP模块
# php -v //查看php版本
# ll /etc/php.ini //php默认配置文件,配置文件里面详细参数这里就不一一介绍了。
MySQL最初也是开源的,后来被Oracle公司收购后5.5后的版本开始收费了,后来又有了MariaDB数据库,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB开源、跨平台、性能强、易扩展、应用广。
3、install mariadb
# yum install mariadb.x86_64 mariadb-server.x86_64 mariadb-devel.x86_64 -y
# rpm -qa mariadb //查看mariadb是否安装成功
# systemctl start mariadb.service //启动数据库服务
# systemctl stop mariadb.service //停止数据库服务
# systemctl status mariadb.service //查看数据库服务状态
# systemctl enable mariadb.service //设置开机自动启动数据库服务
mariadb安装后启动服务,数据库root用户是没有密码的,需要进行初始化并设置密码,配置如下:
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): //直接回车
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y //y设置root用户密码
New password: //输入密码
Re-enter new password: //确定密码
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y //y删除匿名用户
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y //y禁止root远程登录
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] n //n不删除test数据库,根据自己需求定。
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y //刷新数据表
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
# mysql -h 127.0.0.1 -u root -p //连接数据库
4、test web service,apache + php +mariadb安装启动服务后就开始测试。
4.1、通过浏览器访问web服务器出现如下解密说明apache安装成功。
4.2、测试apache+php
# vim /var/www/html/index.php
<?php
phpinfo();
?>
4.3、测试apache+php+mariadb
# vim /var/www/html/mysqld.php
<?php
$servername = "localhost";
$username = "root";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
http://192.168.10.5/mysqld.php
LAMP架构部署和动态网站环境的配置的更多相关文章
- 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境
<Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...
- 第20章 使用LNMP架构部署动态网站环境
章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...
- Linux中什么是动态网站环境及如何部署
当谈论起网站时,我们可能听说过静态和动态这两个词,但却不知道它们的含义,或者从字面意思了解一些却不知道它们的区别. 这一切可以追溯到网站和网络应用程序,Web应用程序是一个网站,但很多网站不是Web应 ...
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...
- 顶 最新简捷实用的JSP动态网站环境搭建详细步骤
阿里西西小编给您推荐这个最新简捷实用的JSP动态网站环境搭建详细步骤讲解,这里还有关于JSP 动态网站 环境 搭建 的教程,希望您能够喜欢并学到东西提升自己的知识与技能,下面是内容详细阅读: 最新简捷 ...
- 编译LAMP部署动态网站环境
LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Apache=2.4.33 --&g ...
- 编译LNMP部署动态网站环境
LNMP动态网站部署架构是由一套 Linux+Nginx+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Nginx=1.13 --> M ...
- linux运维、架构之路-Lamp架构部署
一.Lamp架构原理 二.Lamp架构软件安装 1.apache安装脚本 #!/bin/sh cd /server/tools/ yum install zlib-devel -y wget http ...
- Lnmp架构部署动态网站环境.2019-7-2-1.1
一.Mysql简介 Mysql数据库: 1.社区版 2.商业版 3.cluster集群 Mysql安装方式 1.编译安装 2.yum/rpm 3.二进制包,直接解压,无需编译 二.Mysql安装部署 ...
随机推荐
- oracle 创建表空间TABLESPACE
题外话: 在oracle中,我们的数据库用户都有一个默认表空间归属,当在该用户下创建表或其他对象时默认会将其归属在默认表空间: 不排除后期修改了用户默认表空间的情况存在,此后新加入的对象默认会放置在新 ...
- redis底层设计(二)——内存映射数据结构
我们继续接着上一篇博客,今天来看看内存映射数据结构. 上篇我们讲了内部数据结构,虽然内部数据结构非常强大,但是创建一系列完整的数据结构本身也是一件相当耗费时间的工作,当一个对象包含的元素数量并不多,或 ...
- springmvc+thymeleaf搭建框架启动报错
最近项目开发需要用到thymeleaf前端界面模板引擎,所以提前了解学习一下,但是在框架搭建好了之后启动tomcat一直提示如下错误: org.springframework.beans.factor ...
- [BZOJ4005][JLOI2015]骗我呢-[dp+容斥]
Description 传送门 Solution 如果单独考虑一行i,则左边位置的数严格比右边位置的数小.而一行有m个位置,它们可以填[0,m]这m+1个数,则必然有一个数不存在. 定义第i行的第j位 ...
- mongo中的模糊查询
以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_ ...
- ASP.NET Core 添加区域步骤(详细)
1 前言 早就想总结一下,但是没时间,这次有时间了,就详细的把步骤写出来. 2 步骤 2.1 添加区域 右键项目->添加->区域,如图1: 区域名称:Ceshi 添加完之后解决方案管理器会 ...
- Python股票分析系列——获得标普500的所有公司股票数据.p6
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第6部分. 在之前的Python教程中,我们介绍了如何获取我们感兴趣的公司名单(在我们的案例中是 ...
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍
作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载. 萌芽阶段 很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(90)-EF 扩展操作
上一篇讲了EF直接执行SQL与存储过程的用 法 这次我们来看 EntityFramework-Plus(免费开源) 库的用法相比其他扩展库,这个更加新并且用法更加简单 这是一个对Entity Fram ...
- 1000/problem/A
传送门: [http://codeforces.com/contest/1000/problem/A] 题意: 一个比赛颁奖,要准备T-Shirt给获奖者,但有的去年获奖过,衣服尺寸可以不改,有的需要 ...