文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux下如何搭建LAMP

2023-06-28 01:57

关注

这篇文章主要介绍了Linux下如何搭建LAMP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构

Linux下如何搭建LAMP

准备工作

系统环境:centos 6.8 x86_64

[root@localhost ~]# uname -aLinux 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-releaseCentOS release 6.8 (Final)[root@localhost ~]#

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

[root@localhost ~]# rpm -qa httpdhttpd-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, securityLoading mirror speeds from cached hostfile* base: mirrors.cn99.com* extras: mirrors.cn99.com* updates: mirrors.aliyun.combase                                                               | 3.7 kB     00:00    extras                                                             | 3.4 kB     00:00    updates                                                            | 3.4 kB     00:00    repo id                             repo name                                 statusbase                                CentOS-6 - Base                           6,696extras                              CentOS-6 - Extras                         62updates                             CentOS-6 - Updates                        482repolist: 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, securitySetting up Install ProcessLoading mirror speeds from cached hostfile* base: mirrors.cn99.com* extras: mirrors.cn99.com* updates: mirrors.aliyun.comResolving 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.1Complete!

我们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...OKFilling help tables...OKTo start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your systemPLEASE 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_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default.  This isstrongly 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.plcd /usr/mysql-test ; perl mysql-test-run.plPlease 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 3Server version: 5.1.73 Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.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/FAQroot      2930  0.0  2.9 487660 14664 ?        Ss   10:46   0:00 /usr/sbin/httpdapache    2933  0.0  1.9 487660  9400 ?        S    10:46   0:00 /usr/sbin/httpdapache    2934  0.0  1.8 487660  9112 ?        S    10:46   0:00 /usr/sbin/httpdapache    2935  0.0  1.9 487660  9400 ?        S    10:46   0:00 /usr/sbin/httpdapache    2936  0.0  1.9 487660  9392 ?        S    10:46   0:00 /usr/sbin/httpdapache    2937  0.0  1.8 487660  9116 ?        S    10:46   0:00 /usr/sbin/httpdapache    2938  0.0  1.8 487660  9136 ?        S    10:46   0:00 /usr/sbin/httpdapache    2939  0.0  1.8 487660  9112 ?        S    10:46   0:00 /usr/sbin/httpdapache    2940  0.0  2.3 487844 11840 ?        S    10:46   0:00 /usr/sbin/httpdroot     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/FAQroot      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=mysqlmysql     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.sockroot     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,ESTABLISHEDACCEPT     icmp --  anywhere             anywhere            ACCEPT     all  --  anywhere             anywhere            ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:sshREJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT)target     prot opt source               destination        REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibitedChain 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:httpACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHEDACCEPT     icmp --  anywhere             anywhere            ACCEPT     all  --  anywhere             anywhere            ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:sshREJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT)target     prot opt source               destination        REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT)target     prot opt source               destination

测试httpd的静态文件

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

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

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

Linux下如何搭建LAMP
新手必看,老鸟绕道–LAMP简易安装新手必看,老鸟绕道–LAMP简易安装

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页面测试testthis php test

测试: Linux下如何搭建LAMP

Linux下如何搭建LAMP
新手必看,老鸟绕道–LAMP简易安装新手必看,老鸟绕道–LAMP简易安装

注意: 动态网页搭建动族论坛 过程略,大家自己测试 Apache:httpd(服务名) 80 (端口) Mysql: mysqld(服务名) 3306(端口,默认只对本地监听) php:在apache 中集成,只需添加启用php默认文档即可 lamp的日志等功能,建议查看相关文档 建议安装lamp为了让入门童鞋更加容易了解lamp,生产环境要根据实际情况安装不通的组件。

LAMP,so easy!!!

感谢你能够认真阅读完这篇文章,希望小编分享的“Linux下如何搭建LAMP”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯