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安装成功。

http://192.168.10.5

 

4.2、测试apache+php

# vim /var/www/html/index.php

<?php

        phpinfo();

?>

 

http://192.168.10.5/index.php

 

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

转载于:https://my.oschina.net/linuxprobe16/blog/3008383

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目名称 linux实验-基本指令1 题目关键字 linux实验-基本指令1 题目录入时间 2013-4-1 22:36:02 题目内容 1、root帐号登录,查看/tmp目录,如果/tmp目录下没有子目录myshare,则建立该目录。 2、创建帐号testuser。 3、把myshare目录及其目录下的所有文件和子目录的拥有者该为testuser,工作组改为users。 4、切换至testuser帐号。进入/tmp/myshare目录,采用vim编辑器编写以上程序,程序名称为hello.sh: #!/bin/bash echo "app start" echo -e func (){ echo "hello world!" } func echo -e echo "app end" 5、保存hello.sh后,给予hello.sh拥有者可读、可写和可执行的权限,同组可读可执行,其他人可执行权限。 6、输入./hello.sh,观察程序输出的效果。 7、进入testuser的用户主目录,在这个目录下创建hello.sh的软链接,同时拷贝hello.sh到该目录下并改名为hello.sh.bak,要求拷贝时保留文件属性值。 8、退出testuser帐号,回到root帐号,从/开始查找后缀名为.conf的所有文件,把输出结果重定向到testuser帐号的主目录下的output.txt文件。 9、在上一步操作的.conf文件中找出文件容量最大的和最小那个,并把这两个文件的容量大小输出到output.txt文件中。 10、统计出系统中有多少个用户帐号,把数量输出到output.txt文件中。 11、把output.txt文件转换为windows记事本可正规打开的格式。 12、tar打包压缩testuser帐号主目录下的所有文件。 13、用U盘把上一步打包压缩文件拷贝到U盘上。 14、执行userdel -r testuser,执行rm -fr myshare 题目创建人 题目注释 把打包压缩文件提交即可。 题目名称 linux-课题练习1 题目关键字 linux-课题练习1 题目录入时间 2013-4-15 12:21:53 题目内容 1、创建组testgroup; 2、创建用户a2012,先采用默认设置创建,然后使该用户加入testgroup组。 3、创建用户a2013,其用户主目录为/tmp/a2013,其主组为testgroup,附加组为users。 4、用id命令显示a2012和a2013用户信息,并且把这些信息记录到日志文件/tmp/test.log中。 5、参考书本98-99页crontab命令内容,使用root执行crontab -e,编写时程表,完成每隔5分钟把当前时间追加进/tmp/test.log中。 6、执行crontab -l,把输出内容追加进/tmp/test.log。 7、待完成2次时间记录追加后,执行crontab -r删除当前的时程表。 8、把/tmp/test.log拷贝到windows中(注意文本格式的转换),采用记事本打开,看是否看到完整内容。 题目创建人 题目注释 课题练习,做完后直接把test.log文件提交上来。 题目名称 linux课后作业1 题目关键字 linux课后作业1 题目录入时间 2013-5-6 10:23:32 题目内容 完成课本实验6第一题:菜单驱动程序。 题目创建人 题目注释 本题为当天提交,把程序文件以附件形式提交即可。 题目名称 linux shell程序设计实验1 题目关键字 linux shell程序设计实验1 题目录入时间 2013-5-6 10:25:36 题目内容 完成课本实验6的第2题,要有输入错误处理。 题目创建人 题目注释 把程序文件以附件形式提交即可。 题目名称 linux shell程序设计实验2 题目关键字 linux shell程序设计实验2 题目录入时间 2013-5-6 10:26:43 题目内容 按要求完成课本实验7。 题目创建人 题目注释 把3个程序文件打包提交即可。 题目名称 linux gcc实验 题目关键字 linux gcc实验 题目录入时间 2013-5-20 14:27:52 题目内容 课本实验8第2题 题目创建人 题目注释 请提交Makefile文件 题目名称 Linux下MYSQL操作 题目关键字 MYSQL实验 题目录入时间 2015-4-15 11:19:01 题目内容 1、在Linux下检查是否有mysql,如果没有,请安装。版本上必须是5.5以上,越新越好! 2、在mysql下创建数据库,名称为 testdb,内有表 linuxtest,表字段如下: userid (自己的学号),varchar 50,关键字 mysql_version (当前mysql版本号), varchar 50 linux_version (当前发行版的uname -a 返回值),varchar 100 eth0_HW (eth0物理地址),varchar 50 3、insert对应的数据到表 linuxtest 4、导出该数据库的sql文件,命名为 学号.sql 5、提交该sql文件 题目创建人 题目注释 题目名称 Linux网络实验1-wget+lynx 题目关键字 Linux网络实验1-wget+lynx 题目录入时间 2015-4-20 21:46:19 题目内容 1、让你的linux接入互联网,如果你是虚拟机安装,可以采用桥接本地网卡的方式上网(课堂上有介绍该方法)。如果你是独立安装linux请自行解决。配置好IP地址和网关,DNS设置两个(8.8.8.8和114.114.114.114)。 2、已root登录系统,创建目录webtest,进入webtest目录,分别把ifcfg-eth0文件及resolv.conf文件内容追加至result.txt,。 3、执行echo "1234567890这是分隔线0987654321" >> result.txt traceroute www.scau.edu.cn >> result.txt 4、执行wget http://www.baidu.com 5、以源码方式安装lynx 官方网站:http://lynx.isc.org/ 下载地址:http://lynx.isc.org/current/ 请选择最新版本 安装示例: wget http://lynx.isc.org/current/lynx2.8.8rel.2.tar.gz 解压lynx2.8.8rel.2.tar.gz 进入解压后的目录 依次执行 ./configure make make install 6、echo "1234567890这是分隔线0987654321" >> result.txt 7、执行whereis lynx >> result.txt 8、echo "1234567890这是分隔线0987654321" >> result.txt 9、lynx -dump http://www.baidu.com >> result.txt 10、提交result.txt文件 题目创建人 题目注释 题目名称 GTK+实验 题目关键字 GTK+实验 题目录入时间 2015-5-24 13:47:12 题目内容 GTK+实验,完成课本实验9,最后打包上传(程序源代码+可运行文件) 题目创建人 题目注释 题目名称 决战Linux(1) 题目关键字 LAMP LNMP 题目录入时间 2015-4-28 22:16:03 题目内容 在LAMP、LNMP等环境下,任意挑选下列2种或以上动态网页语言,写出一个页面,读取MYSQL实验中的数据表数据。 (PHP,JSP,Perl,Python,Ruby,Go,ASP.NET) 注意:不同的动态网页语言,所要求的具体环境有可能不同,需要自行搭建。 该实验为综合性实验,最终需要提交综合性实验报告。报告提纲大致如下: 1、实验步骤描述(有图有真像) (1)第一种动态语言 a、实验环境描述 b、系统架构图 c、相关配置总结 d、核心代码总结 e、页面效果截图 (2)第二种动态语言 (3)第三种动态语言 以下同。 2、实验总结(有对比有分析有感想) 题目创建人 题目注释
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值