新手必看,老鸟绕道–LAMP简易安装

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
准备工作

系统环境:centos 6.8 x86_64

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@localhost ~]# 

LAMP相关包是否安装:
默认httpd已经安装,在这里我们说明下:本次实验我们采用的是yum的方式来进行安装,httpd就是Apache软件在RPM中的软件包名

[root@localhost ~]# rpm -qa httpd
httpd-2.2.15-53.el6.centos.x86_64
[root@localhost ~]# rpm -qa mysql*
[root@localhost ~]# rpm -qa php*
[root@localhost ~]# 
L-A-M-P 安装

LAMP的安装其实非常简单,一条命令搞定。个人认为对于初学着没有必要搞那么多这个插件,那个插件;到了深入了解了LAMP后在根据自己实际的需求来进行模块的安装,由易道难,循序渐进的学习。

yum仓库的检查
[root@localhost ~]# yum repolist                 \\查看yum仓库的情况
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.aliyun.com
base                                                               | 3.7 kB     00:00     
extras                                                             | 3.4 kB     00:00     
updates                                                            | 3.4 kB     00:00     
repo id                             repo name                                 status
base                                CentOS-6 - Base                           6,696
extras                              CentOS-6 - Extras                         62
updates                             CentOS-6 - Updates                        482
repolist: 7,240

我们使用的是centos默认的网络yum仓库,当然如果默认yum仓库比较慢的话,可以使用epel的软件包。

yum安装LAMP
[root@localhost ~]# yum -y install httpd mysql mysql-server mysql-devel php*
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-53.el6.centos will be updated
---> Package httpd.x86_64 0:2.2.15-54.el6.centos will be an update
--> Processing Dependency: httpd-tools = 2.2.15-54.el6.centos for package: httpd-2.2.15-54.el6.centos.x86_64
---> Package mysql.x86_64 0:5.1.73-7.el6 will be installed
..........................
Installed:
  mysql.x86_64 0:5.1.73-7.el6    mysql-devel.x86_64 0:5.1.73-7.el6    mysql-server.x86_64 0:5.1.73-7.el6     
  php.x86_64 0:5.3.3-48.el6_8    php-bcmath.x86_64 0:5.3.3-48.el6_8   php-cli.x86_64 0:5.3.3-48.el6_8        
 .........

Updated:
  httpd.x86_64 0:2.2.15-54.el6.centos                                                                                   

Dependency Updated:
  httpd-tools.x86_64 0:2.2.15-54.el6.centos  net-snmp-libs.x86_64 1:5.5-57.el6_8.1  openssl.x86_64 0:1.0.1e-48.el6_8.1 

Complete!

我们yum命令安装httpd ,安装mysql mysql-server 和mysql-devel开发包,在php的安装包上面我们选择了php* 的命令匹配搜有php相关的包。注意,注意的操作是为了让入门童鞋们先了解LAMP的方案,在深入了解后,还是要跟进实际的情况安装搜需要的包。

LAMP初始化

安装完成LAMP后,我们需要对LAMP进行初始化,其实也就是启动服务,开机自起和必要的配置。

Apache的初始化
[root@localhost ~]# service httpd start           \\启动httpd服务;注意httpd和apache的关系
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[root@localhost ~]# chkconfig httpd on             \\设置httpd开启自器
mysql的初始化
[root@localhost ~]# service mysqld start           \\开启mysql服务,会提示需要初始化,很详细
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

                                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@localhost ~]# chkconfig mysqld on                \\设置mysql开机自启动
[root@localhost ~]# mysqladmin -u root password linuxprobe.com
                            \\初始化mysql,在这里需要设置mysql的root的密码;命令:mysqladmin -u 用户 password 密码
[root@localhost ~]# mysql -u root -p                    \\登录mysql查看是否能够登录        
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>                                             \\ok登录成功

注意:在yum安装lamp的时候,其实php只是apache的一个集成的组件,不需要添加模块的应用,只要在配置文件中启用就可以了。

环境简单的测试
查看经常mysql和httpd是否运行:
[root@localhost ~]# ps -aux |grep httpd               \\查看httpd的进程
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      2930  0.0  2.9 487660 14664 ?        Ss   10:46   0:00 /usr/sbin/httpd
apache    2933  0.0  1.9 487660  9400 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2934  0.0  1.8 487660  9112 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2935  0.0  1.9 487660  9400 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2936  0.0  1.9 487660  9392 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2937  0.0  1.8 487660  9116 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2938  0.0  1.8 487660  9136 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2939  0.0  1.8 487660  9112 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2940  0.0  2.3 487844 11840 ?        S    10:46   0:00 /usr/sbin/httpd
root     10163  0.0  0.1 103316   868 pts/3    S+   12:23   0:00 grep httpd
[root@localhost ~]# ps -aux |grep mysql               \\查看mysql的相关进程
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      3035  0.0  0.2 108216  1452 pts/1    S    10:47   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     3137  0.0  4.3 367512 21444 pts/1    Sl   10:47   0:02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root     10165  0.0  0.1 103316   868 pts/3    S+   12:23   0:00 grep mysql

[root@localhost ~]# netstat -tanulp |grep 80      \\查看httpd 的端口对外监听
tcp        0      0 192.168.1.108:50878         63.80.4.177:80              ESTABLISHED 2629/clock-applet   
tcp        0      0 :::80                       :::*                        LISTEN      2930/httpd          
[root@localhost ~]# netstat -tanulp |grep 3306     \\查看mysql的端口对外监听
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3137/mysqld    
防火墙的相关设置
[root@localhost ~]# iptables -L                   \\查看iptables的规则
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination     

[root@localhost ~]# iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT     
                                     \\添加iptables INPUT的链的第一条规则允许tcp协议的80端口
                                  \\关于iptables 的更多设置,请参考《linux就该这样学》相关内容

[root@localhost ~]# service iptables save        \\将我们的添加的规则保存在配置文件
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@localhost ~]# iptables -L                         \\查看保存情况
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
测试httpd的静态文件

添加一个测试的静态index.html页面,或者使用默认的页面进行测试。关于添加网站页面的更多问题,请参考《linux就该这样学》的相关内容

[root@localhost ~]# echo "hello word" > /var/www/html/index.html

测试用ie浏览器测试静态页面:

ok,测试成功。

配置文件
[root@localhost ~]# ls /etc/httpd/              \\配置文件目录,相关配置模块
conf/    conf.d/  logs/    modules/ run/     
[root@localhost ~]# vi /etc/httpd/conf/
httpd.conf  magic       
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf     \\主配文件
[root@localhost ~]# wc -l /etc/httpd/conf/httpd.conf    
1009 /etc/httpd/conf/httpd.conf
                              \\ 主配文件共有1009行,其中有好多都是注释的.养成好习惯,备份默认配置文件
[root@localhost ~]# tail /etc/httpd/conf/httpd.conf      \\更多配置建议参考《linux就该这样学》相关内容
# The first VirtualHost section is used for requests without a known
# server name.
#
#                                          \\配置文件中添加虚拟主机的语句
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#
高级环境的测试

LAMP是一个稳定的动态的网站架构方案,在这里我们需要添加php的支持,测试动态网站。

启用对php的支持
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf 

[root@localhost ~]# cat /etc/httpd/conf/httpd.conf |grep  DirectoryIndex     
                                                  \\在配置文件402行添加对php页面的支持
# DirectoryIndex: sets the file that Apache will serve if a directory
添加php测试页面,测试
[root@localhost ~]# vi /var/www/html/index.php    
[root@localhost ~]# cat /var/www/html/index.php    \\添加php信息的测试页面

[root@localhost ~]# vi /var/www/html/test.php
[root@localhost ~]# cat /var/www/html/test.php      \\添加php页面测试
test 
this php test


本文转自Linux就该这么学博客园博客,原文链接:http://www.cnblogs.com/linuxprobe/p/5930053.html,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
关系型数据库 MySQL PHP
小白带你学习部署LAMP平台
小白带你学习部署LAMP平台
89 0
|
4月前
|
应用服务中间件 Linux 程序员
老程序员分享:nginx安装及其配置详细教程
老程序员分享:nginx安装及其配置详细教程
|
12月前
|
Web App开发 IDE Java
手把手教你下载安装Goland 新手别错过!
手把手教你下载安装Goland 新手别错过!
356 0
magisk安装教程 新手专属!
今天小编为大家带来的是Magisk通用安装教程,在开始安装Magisk之前请确保你的手机已经解锁并且刷了第三方rec。
2177 0
|
存储 Java Linux
Linux系统安装傻瓜教程
目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,CentOS是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本
227 0
Linux系统安装傻瓜教程
|
Ubuntu Linux 网络安全
[linux学习记录]wsl2踩坑指北
[linux学习记录]wsl2踩坑指北
[linux学习记录]wsl2踩坑指北
|
Java Linux Shell
学妹跑过来抱着我的胳膊让我帮她在Linux上装jdk【手把手教学】
学妹跑过来抱着我的胳膊让我帮她在Linux上装jdk【手把手教学】
学妹跑过来抱着我的胳膊让我帮她在Linux上装jdk【手把手教学】
|
Oracle 关系型数据库 Linux
我室友打了一把王者6分钟,我秒搞VirtualBox 、CentOS 的安装过程
我室友打了一把王者6分钟,我秒搞VirtualBox 、CentOS 的安装过程
110 0
我室友打了一把王者6分钟,我秒搞VirtualBox 、CentOS 的安装过程
|
Ubuntu Linux 虚拟化
Ubuntu安装教程【超多图】
文章目录 01前言 02虚拟机的安装 03Ubuntu镜像的下载 04虚拟机硬件配置 1.虚拟机安装完毕之后,界面如下图所示: 2.在弹出的对话框中选择自定义,然后点击下一步: 3.在 「虚拟机硬件兼容性」 里选择默认的即可,直接下一步: 4.在 「安装客户机操作系统」 里选择 「稍后安装操作系统」 ,然后点击下一步: 5.依然选择默认的,直接下一步: 6.在这一步 「命名虚拟机」 里,给自己的虚拟机命个名称,比如Ubuntu_LX,再选择要安装的位置。虚拟机所产生的文件比较大,所以选择位置所在的磁盘最好剩余空间大一些。 7.虚拟机处理器数量及内核都选择2,对于开发来说够用了。即使不够用的话,
1492 0
Ubuntu安装教程【超多图】
|
Web App开发 Ubuntu Linux
手把手带你玩转 Ubuntu,你学废了么?
手把手带你玩转 Ubuntu,你学废了么?
385 0
手把手带你玩转 Ubuntu,你学废了么?