LAMP是企業中最經常使用的服務,也是很是穩定的網站架構平臺。其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php。相信你們對這些都已經很是熟悉了,可是對於剛接觸Linux的新手來講,可能還不是太明白,要裝什麼包啊,什麼模塊啊。其實LAMP並不難,下面用最簡單的方法安裝LAMP。
php
系統環境:centos 6.8 x86_64html
[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中的軟件包名mysql
[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 ~]#
LAMP的安裝其實很是簡單,一條命令搞定。我的認爲對於初學着沒有必要搞那麼多這個插件,那個插件;到了深刻了解了LAMP後在根據本身實際的需求來進行模塊的安裝,由易道難,按部就班的學習。linux
[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的軟件包。web
[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的方案,在深刻了解後,仍是要跟進實際的狀況安裝搜須要的包。sql
安裝完成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開啓自器
[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的一個集成的組件,不須要添加模塊的應用,只要在配置文件中啓用就能夠了。centos
[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
添加一個測試的靜態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的支持,測試動態網站。
[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
[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
測試:
注意:
動態網頁搭建動族論壇 過程略,你們本身測試
Apache:httpd(服務名) 80 (端口)
Mysql: mysqld(服務名) 3306(端口,默認只對本地監聽)
php:在apache 中集成,只需添加啓用php默認文檔便可
lamp的日誌等功能,建議查看相關文檔
建議安裝lamp爲了讓入門童鞋更加容易瞭解lamp,生產環境要根據實際狀況安裝不通的組件。LAMP,so easy!!!
本文轉載地址:https://www.linuxprobe.com/yum-lamp-easy.html