lamp

  Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一組經常使用來搭建動態網站或者服務器的開源軟件,自己都是各自獨立 的程序,可是由於常被放在一塊兒使用,擁有了愈來愈高的兼容度,共同組成了一個強大的Web應用程序平臺。隨着開源潮流的蓬勃發展,開放源代碼的LAMP已 經與J2EE和.Net商業軟件造成三足鼎立之勢,而且該軟件開發的項目在軟件方面的投資成本較低,所以受到整個IT界的關注。從網站的流量上來 說,70%以上的訪問流量是LAMP來提供的,LAMP是最強大的網站解決方案.php

軟件組件:html

Linux
Linux 是免費開源軟件,這意味着源代碼可用的操做系統。
Apache
Apache 是使用中最受歡迎的一個開放源碼的WEB服務器軟件。
MySQL
MySQL 是多線程、多用戶的SQL數據庫管理系統。
MySQL 已由Oracle公司自 2010 年 1 月 27 日經過SUN購買。SUN 最初於 2008 年 2 月 26 日收購 MySQL。
PHP,Perl 或 Python

PHP 是一種編程語言最初設計生產動態網站。PHP 是主要用於服務器端的應用程序軟件。Perl 和 Python 相似。node

 

1.安裝http服務器mysql

1)準備工做爲了不發生端口衝突,程序衝突等現象,建議卸載使用rpm方式安裝的httpd。linux

[root@localhost ~]# rpm -e httpd --nodeps

2)源碼編譯及安裝sql

[root@localhost ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/ //解包 [root@localhost ~]# cd /usr/src/httpd-2.2.17/ [root@localhost httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi //配置

各項的含義以下:shell

  • --prefix:指定講httpd服務器程序安裝到那個目錄下 ,如/usr/local/httpd
  • --enable-so:啓用動態加載模塊支持,使httpd具有進一步擴展功能的能力
  • --enable-rewrite:啓用網頁地址重寫功能,用於網站優化及目錄遷移維護
  • --enable-charset-lite:啓動字符集支持,以便支持各類字符集編碼的網頁。
  • --enable-cgi:啓用CGI腳本程序支持,便於擴展網站的應用訪問能力

3)編譯及安裝數據庫

[root@localhost httpd-2.2.17]# make && make install
[root@localhost ~]# ls /usr/local/httpd/
bin  build  cgi-bin conf error htdocs icons include lib logs man manual modules [root@localhost ~]# //確認安裝結果

主要子目錄的用途以下:apache

  • /usr/local/httpd/bin:存放httpd服務的各類執行程序文件,包括主程序httpd,服務控制工具apachectl等
  • /usr/local/httpd/conf:存在httpd服務的各類配置文件,包括主配置文件httpd.conf,加強配置子目錄extra等
  • /usr/local/httpd/htdocs:存放網頁文檔,包括默認首頁文件index.html等
  • /usr/local/httpd/logs:存在httpd服務的日誌文件
  • /usr/local/httpd/modules:存放httpd服務的各類模塊文件
  • /usr/local/httpd/cgi-bin:存在各類CGI程序文件

4)優化執行路徑
編程

[root@localhost ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

5)添加httpd系統服務

[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost ~]# vim /etc/init.d/httpd 
1
2
3
#!/bin/sh
#chkconfig: 35 85 21     //服務識別參數,在級別3.5中啓動;啓動和關閉的順序分別爲 85,21
......................

 

[root@localhost ~]# chkconfig --add httpd       //將httpd添加系統服務 [root@localhost ~]# chkconfig --list httpd //查看httpd服務的自啓動狀態 httpd 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:啓用 6:關閉 [root@localhost ~]# service httpd restart

測試

安裝mysqld

[root@www ~]# yum remove -y mysql-server mysql            //卸載原有的mysql
[root@www /]# tar zxvf cmake-2.8.5.tar.gz -C /usr/src/ //mysql5.5須要cmake編譯 [root@www /]# cd /usr/src/cmake-2.8.5/ [root@www cmake-2.8.5]# ./configure && gmake && gmake install [root@www /]# useradd -M -s /sbin/nologin mysql //建立mysql運行用戶
yum -y install ncurses-devel
[root@www /]# tar zxvf mysql-5.5.22.tar.gz –C /usr/src [root@www /]# cd /usr/src/mysql-5.5.22/ [root@www mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc [root@www mysql-5.5.22]# make && make install
複製代碼
[root@www ~]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf     //複製配置文件模板 cp: overwrite `/etc/my.cnf'? y [root@www ~]# chown -R mysql.mysql /usr/local/mysql/ //修改屬主屬組 [root@www ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ //以mysql用戶初始化數據庫 [root@www ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //設置環境變量 [root@www ~]# . /etc/profile //當即生效 [root@www ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //添加啓動腳本 [root@www ~]# chmod +x /etc/init.d/mysqld //添加執行權限 [root@www ~]# chkconfig --add mysqld //添加到服務 [root@www ~]# /etc/init.d/mysqld start Starting MySQL.... [ OK ] [root@www ~]# netstat -anpt |grep mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 64808/mysqld
複製代碼

編譯安裝PHP

yum install libxml2-devel libpng-devel pcre-devel

準備工做,安裝libmcrypt、mhash、mcrypt

複製代碼
[root@www /]# tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/ [root@www /]# cd /usr/src/libmcrypt-2.5.8/ [root@www libmcrypt-2.5.8]# ./configure && make && make install [root@www libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/ [root@www /]# tar zxvf mhash-0.9.9.9.tar.gz -C /usr/src/ [root@www /]# cd /usr/src/mhash-0.9.9.9/ [root@www mhash-0.9.9.9]# ./configure && make && make install [root@www mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib [root@www /]# tar zxvf mcrypt-2.6.8.tar.gz -C /usr/src/ [root@www /]# cd /usr/src/mcrypt-2.6.8/
複製代碼

解決mcrypt進行配置./configure報錯

[root@www mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH [root@www mcrypt-2.6.8]# ./configure && make && make install

安裝PHP

複製代碼
[root@www /]# tar zxvf php-5.3.6.tar.gz -C /usr/src/ [root@www /]# cd /usr/src/php-5.3.6/ [root@www php-5.3.6]# ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib [root@www php-5.3.6]# make && make install
複製代碼

## 優化php執行路徑 ##

[root@LNMP ~]# ln -s /usr/local/php/bin/* /usr/local/bin/

[root@LNMP ~]# ln -s /usr/local/php/sbin/* /usr/local/sbin/

## 生成PHP主配置文件並進行修改 ##

注:主配置文件  cp php-5.3.28/php.ini-development /usr/local/php5/php.ini

複製代碼
[root@LNMP ~]# cd /usr/local/php/etc/

[root@LNMP etc]# cp php-fpm.conf.default php-fpm.conf [root@LNMP etc]# useradd -M -s /sbin/nologin php [root@LNMP etc]# vim php-fpm.conf
複製代碼
1
2
3
4
5
6
7
pid = run/php-fpm.pid                   //確認pid文件位置
user = php                          //運行用戶改成php
group = php                         //運行組改成php
pm.start_servers = 20                   //啓動時開啓的進程數
pm.min_spare_servers = 5                //最小空閒進程數
pm.max_spare_servers = 35               //最大空閒進程數
pm.max_children = 50

 

優化ZendGuardLoader

[root@www /]# tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/ [root@www /]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ [root@www php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ [root@www /]# vim /usr/local/php5/php.ini
1
2
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1     //插入配置末尾

 

1
2
3
4
5
6
[root@www /]# vim /usr/local/httpd/conf/httpd.conf
AddType application/x-httpd-php .php
 
<IfModule dir_module>
     DirectoryIndex index.html index.php
</IfModule>

 

複製代碼
[root@www /]# /etc/init.d/httpd restart
[root@www /]# vim /usr/local/httpd/htdocs/test1.php <?php phpinfo(); ?> [root@www /]# vim /usr/local/httpd/htdocs/test2.php <?php $link=mysql_connect('localhost','root','aptech'); if($link) echo "Mysql OK~~~"; mysql_close(); ?>
複製代碼

 

測試

 

 

 

 

 

 

企業網站建設必然離不開服務器運維,一個穩定高效的服務器環境是保證網站正常運行的重要前提。本文小編將會詳細講解Linux系統上如何搭建配置高效的lamp服務環境,並在lamp環境中搭建起企業本身的網站。

先簡要概述下本文要點:(操做系統採用CentOS 6.5 x64)

1.分別安裝搭建lamp服務環境;

2.採用lamp一鍵安裝包搭建環境;

3.在lamp環境中初步搭建起一個網站;

 

1、             分別安裝搭建lamp服務環境

準備工做:

一、配置防火牆,開啓80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #容許80端口經過防火牆
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #容許3306端口經過防火牆

將以上內容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面

/etc/init.d/iptables restart #最後重啓防火牆使配置生效

二、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #註釋掉
#SELINUXTYPE=targeted #註釋掉
SELINUX=disabled #增長
:wq #保存,關閉
shutdown -r now #重啓系統

安裝:

一、安裝Apache

卸載自帶httpd: yum remove httpd
yum install httpd #根據提示,輸入Y安裝便可成功安裝
/etc/init.d/httpd start #啓動Apache

備註:Apache啓動以後會提示錯誤:
正在啓動 httpd:httpd: Could not reliably determine the server’s fully qualif domain name, using ::1 for ServerName
解決辦法:
vi /etc/httpd/conf/httpd.conf #編輯
找到 #ServerName www.example.com:80
修改成 ServerName www.osyunwei.com:80 #這裏設置爲你本身的域名,若是沒有域名,能夠設置爲localhost
:wq! #保存退出
chkconfig httpd on #設爲開機啓動
/etc/init.d/httpd restart #重啓Apache

二、安裝MySQL

先卸載自帶mysql:

yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf

安裝:

yum install mysql mysql-server #詢問是否要安裝,輸入Y便可自動安裝,直到安裝完成
/etc/init.d/mysqld start #啓動MySQL
chkconfig mysqld on #設爲開機啓動
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷貝配置文件(注意:若是/etc目錄下面默認有一個my.cnf,直接覆蓋便可)

爲root帳戶設置密碼:
mysql_secure_installation
回車,根據提示輸入Y
輸入2次密碼,回車
根據提示一路輸入Y
最後出現:Thanks for using MySQL!
MySql密碼設置完成,從新啓動 MySQL:
/etc/init.d/mysqld restart #重啓
/etc/init.d/mysqld stop #中止
/etc/init.d/mysqld start #啓動

三、安裝PHP5
yum install php
根據提示輸入Y直到安裝完成

安裝PHP組件,使 PHP5 支持 MySQL
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
這裏選擇以上安裝包進行安裝
根據提示輸入Y回車
/etc/init.d/mysqld restart #重啓MySql
/etc/init.d/httpd restart #重啓Apche

相關配置:

一、Apache配置
vi /etc/httpd/conf/httpd.conf #編輯文件
ServerTokens OS 在44行 修改成:ServerTokens Prod (在出現錯誤頁的時候不顯示服務器操做系統的名稱)
ServerSignature On 在536行 修改成:ServerSignature Off (在錯誤頁中不顯示Apache的版本)
Options Indexes FollowSymLinks 在331行 修改成:Options i n c l u d es e x e cCGI FollowSymLinks(容許服務器執行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi 在796行 修改成:AddHandler cgi-script .cgi .pl (容許擴展名爲.pl的CGI腳本運行)
AllowOverride None 在338行 修改成:AllowOverride All (容許.htaccess)
AddDefaultCharset UTF-8 在759行 修改成:AddDefaultCharset GB2312 (添加GB2312爲默認編碼)
Options Indexes MultiViews FollowSymLinks 在554行 修改成 Options MultiViews FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html index.html.var 在402行 修改成:DirectoryIndex index.html index.htm Default.html Default.htm

index.php Default.php index.html.var (設置默認首頁文件,增長index.php)
KeepAlive Off 在76行 修改成:KeepAlive On (容許程序性聯機)
MaxKeepAliveRequests 100 在83行 修改成:MaxKeepAliveRequests 1000 (增長同時鏈接數)
:wq! #保存退出
/etc/init.d/httpd restart #重啓
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除默認測試頁

二、php配置
vi /etc/php.ini #編輯
date.timezone = PRC #在946行 把前面的分號去掉,改成date.timezone = PRC

disable_functions = p a s s t h r u,e x e c,s y s t e m,chroot,scandir,chgrp,chown,shell_e x e c, p r o c _ o p e n,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,pope p a s s t h r u,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,

getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#在386行 列出PHP能夠禁用的函數,若是某些程序須要用到這個函數,能夠刪除,取消禁用。
expose_php = Off #在432行 禁止顯示php版本的信息
magic_quotes_gpc = On #在745行 打開magic_quotes_gpc來防止SQL注入
short_open_tag = ON #在229行支持php短標籤
open_basedir = .:/tmp/ #在380行 設置表示容許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,能夠防止php木馬跨站,若是改了以後安裝程序有問題(例如:織夢內容管理系 統),能夠註銷此行,或者直接寫上程序的目錄/data/www.osyunwei.com/:/tmp/
:wq! #保存退出
/etc/init.d/mysqld restart #重啓MySql
/etc/init.d/httpd restart #重啓Apche

測試:
cd /var/www/html
vi index.php #輸入下面內容
<?php
phpinfo();
?>
:wq! #保存退出
在客戶端瀏覽器輸入服務器IP地址,能夠看到以下圖所示相關的配置信息!

其餘:

後續安裝PDO_MySQL拓展模塊,只須要: yum install php-mysql

手動安裝會出現錯誤(configure: error: mysql_query missing!?)

2、採用lamp一鍵安裝包搭建環境

不少朋友可能認爲分別安裝Apache、mydql、php很麻煩,還須要手動配置。因此接下來小編帶領你們瞭解下如何用lamp一鍵安裝包搭建服務環境。

部署LNMP/LAMP/LNMPA一鍵包

一、腳本下載解壓和執行安裝

    wget http://mirrors.linuxeye.com/lnmp-full.tar.gz

    tar xzf lnmp-full.tar.gz

    cd lnmp

./install.sh

二、安裝過程的項目選擇

由於這個腳本的特色不是從開始就無人值守的,須要根據咱們的環境進行選擇各類版本,因此選擇的過程比較複雜,咱們要看清楚,在這個過程當中咱們安裝LAMP環境。

(1)、升級系統和端口、WEB服務器安裝設置


開始過程咱們看到上圖,官方建議不更新系統,那咱們就不更新。咱們能夠直接在安裝腳本過程當中直接修改ROOT端口,這個很是不錯,要不咱們在服務器安全事項處理的時候也須要修改端口,不要用默認的22。WEB服務器的安裝,由於咱們要安裝LAMP環境,因此NGINX不安裝,APACHE安裝本身但願的版本,我這裏安裝2.4。

(2)、數據庫版本和PHP版本選擇安裝


這裏咱們還要選擇數據庫和PHP版本的安裝。

(3)、其餘相關服務器組件的安裝


咱們根據本身的網站環境需求環境,配置須要的組件,小編我的建議是若是有須要用到就安裝,沒有必要用到就不要安裝。

 

第3、安裝完畢後一些部署工做


設置完畢以後,而後就是自動無人值守的安裝,根據系統的速度須要執行20-30分鐘,總之咱們就等待,等待看到上圖的界面就標示安裝完畢,咱們能夠輸入y重啓服務器,而後檢測下是否安裝完整。

咱們在服務器配置環境以後仍是須要作幾個工做的,最爲主要的是刪除默認安裝的首頁,在home/wwwroot/default中的首頁,以及須要修改PHPMYADMIN的目錄路徑,緣由你們都懂的,不懂也要作。

 

3、在lamp環境中初步搭建起一個網站

這裏咱們以主流的蟬知系統爲例,直接在剛纔一鍵安裝好的LAMP環境中搭建網站。

蟬知企業建站系統下載: www.chanzhi.org/download/chanzhi5.2-126.html/?u=xcj

蟬知系統使用手冊:http://www.chanzhi.org/book/chanzhieps.html/?u=xcj

下載解壓後,將s y s t e m文件夾移到www文件夾中,這個www文件夾就是我麼一會須要上傳的網站文件。

LAMP環境添加站點:

由於一鍵包不一樣於WEB面板,咱們添加站點須要用到命令,好歹比手工部署好一些,用到下面的命令。

    cd /root/lnmp

    ./vhost.sh


咱們將www下的文件上傳到網站根目錄下,訪問網站地址進行安裝。

啓動安裝程序

訪問您的域名http://domain/install.php。若是您將蟬知安裝在二級目錄,還須要再加上二級路徑。

檢查模塊和目錄權限


備註:若是模塊或者目錄檢查不經過的話,請按照系統給出的提示進行操做以解決問題。

配置數據庫


備註:若是以前有安裝過蟬知系統,能夠選中「清空現有數據」按鈕進行從新安裝。

 

保存配置文件


備註:系統會自動嘗試保存配置文件。若是因爲權限的問題,請按照提示拷貝文本框裏面的配置內容,手工保存到config/my.php文件中。

 

設置管理員賬號


登陸後臺


至此,咱們已經成功的搭建起LAMP服務環境,並在LAMP環境中搭建起咱們的網站了。如何你們還有其餘疑問,歡迎評論討論,咱們共同交流,共同進步。

共同窗習,共同交流,共同進步
相關文章
相關標籤/搜索