LAMP编译安装,并搭建discuz
一、Mysql安裝
http://mirrors.sohu.com/mysql/MySQL-5.1/???Mysql下載網站 cd?/usr/local/mysql/ wget?http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72-linux-i686-glibc23.tar.gz tar?zxvf?mysql-5.1.73-linux-i686-glibc23.tar.gz? mv?mysql-5.1.73-linux-i686-glibc23?/usr/local/mysql cd?../? ll? useradd?-s?/sbin/nologin?-M?mysql mkdir?/data/mysql chown?-R?mysql:mysql?/data/mysql ./scripts/mysql_install_db?--user=mysql?--datadir=/data/mysql????#初始化數據 echo?$? cp?support-files/my-large.cnf?/etc/my.cnf? vim?/etc/my.cnf???????????編譯MySql配置文件 #log-bin=mysql-bin????????????#記錄查詢、刪除、更新數據時記錄日志,配置MySql主從時需要,這里暫時不需要,先注釋 #binlog_format=mixed #server-id??????=?1 cp?/usr/local/mysql/support-files/mysql.server?/etc/init.d/mysqld????#復制啟動腳本到init.d目錄下vim?/etc/init.d/mysqld???????????????#編輯啟動配置文件,指定數據目錄 basedir=/usr/local/mysql datadir=/data/mysql chkconfig?--add?mysqld?????????????#開機啟動 chkconfig?mysqld?on /etc/init.d/mysqld?start??????????????#啟動服務 Starting?MySQL...?SUCCESS!? netstat?-tnplu?|?grep?mysql tcp????????0??????0?0.0.0.0:3306????????????????0.0.0.0:*???????????????????LISTEN??????1282/mysqld如果啟動不了,請到 /data/mysql/ 下查看錯誤日志,這個日志通常是主機名.err.
二、安裝Apache
yum?install?-y?pcre?pcre-devel?apr?apr-devel??zlib-devel??#安裝相關依賴包cd?/usr/local/src/wget?http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.31.tar.gz
tar?xvf?httpd-2.2.31.tar.gz?
cd?httpd-2.2.31
./configure?--prefix=/usr/local/apache2?--with-included-apr?--enable-so?--enable-deflate=shared?--enable-expires=shared?--enable-rewrite=shared?--with-pcre
echo $?
make
echo $?
make install
echo $?
/usr/local/apache2/bin/apachectl start ? ? ? #啟動服務
ps?aux?|?grep?httpd ? ? ?#查看進程
root?????32632??0.0??0.1???4200??1936??????????Ss???07:54???0:00?/usr/local/apache2/bin/httpd?-k?start
daemon???32670??0.0??0.1???4200??1100??????????S????08:02???0:00?/usr/local/apache2/bin/httpd?-k?start
root?????32679??0.0??0.0???6048???776?pts/0????S+???08:05???0:00?grep?httpd
netstat?-tnlp?|?grep?httpd ? ? ?#查看端口
tcp????????0??????0?:::80???????????????????????:::*????????????????????????LISTEN??????32632/httpd ??
2.1、編譯參數詳解:
--prefix=/usr/local/apache2?????#安裝目錄 --with-included-apr????#依賴的組件模塊,支持跨平臺--enable-rewrite=shared????#動態擴展的模式安裝 --with-pcre?????#正則的支持庫2.2、錯誤信息:
安裝錯誤 2.2.1.configure:?error:?mod_deflate?has?been?requested?but?can?not?be?built?due?to?prerequisite?failures 解決方法: yum?install?zlib-devel?-y? wget?ftp://rpmfind.net/linux/centos/6.7/os/i386/Packages/zlib-devel-1.2.3-29.el6.i686.rpm?? rpm?-ivh?zlib-devel-1.2.3-29.el6.i686.rpm? 2.2.2checking?for?APR-util...?reconfig configure:?error:?Cannot?use?an?external?APR?with?the?bundled?APR-util 解決方法: yum?install?apr?apr-util?-y 啟動錯誤: 2.2.3:httpd:?apr_sockaddr_info_get()?failed?for?lab-1-c6.7-x32 httpd:?Could?not?reliably?determine?the?server's?fully?qualified?domain?name,?using?127.0.0.1?for?ServerName 解決方法: vim?/etc/hosts????#編輯hosts文件,增加主機名 127.0.0.1???localhost?localhost.localdomain?localhost4?localhost4.localdomain4?lab-1-c6.7-x32 2.2.4:httpd:?Could?not?reliably?determine?the?server's?fully?qualified?domain?name,?using?lab-1-c6.7-x32?for?ServerName 解決方法:cp?/usr/local/apache2/conf/httpd.conf?/usr/local/apache2/conf/httpd.conf.bak????#備份配置文 找到以下內容,取消注釋#ServerName?www.example:80/usr/local/apache2/bin/apachectl?restart????#重啟服務2.3、配置Apache
/usr/local/apache2/bin/apachectl?-t????#查看Apache配置文件語法是否錯誤 /usr/local/apache2/bin/apachectl?start\restart\stop\graceful??開啟\重啟\關閉\重載 /usr/local/apache2/bin/apachectl?-M????#查看Apache模塊ls?/usr/local/apache2/modules/???????????#綠色的是動態加載模塊 httpd.exp??mod_deflate.so??mod_expires.so??mod_rewrite.sols?/usr/local/apache2/bin/httpd???????????#綠色的是靜態態加載模塊 /usr/local/apache2/bin/httpd /usr/local/apache2/bin/apachectl?-l????#查看Apache靜態模塊和工作模式三、Apache的工作模式
/usr/local/src/httpd-2.2.31/./configure?--help?|?less--with-mpm=MPM??????????Choose?the?process?model?for?Apache?to?use.MPM={beos|event|worker|prefork|mpmt_os2|winnt}#常見的工作模式有worker、prefork兩種,2.2默認是prefork,2.4默認是event
/usr/local/apache2/bin/apachectl?-l??????#查看Apache當前工作模式 prefork.c 3.1、prefork模式 [root@lab-1-c6?~]#?ps?aux?|?grep?httpd????????#一個主進程(***),多個子進程(綠色) root?????32632??0.0??0.1???4200??1944??????????Ss???07:54???0:00?/usr/local/apache2/bin/httpd?-k?start daemon???32696??0.0??0.1???4200??1100??????????S????08:21???0:00?/usr/local/apache2/bin/httpd?-k?start daemon???32697??0.0??0.1???4200??1100??????????S????08:21???0:00?/usr/local/apache2/bin/httpd?-k?start daemon???32698??0.0??0.1???4200??1100??????????S????08:21???0:00?/usr/local/apache2/bin/httpd?-k?start daemon???32699??0.0??0.1???4200??1100??????????S????08:21???0:00?/usr/local/apache2/bin/httpd?-k?start daemon???32700??0.0??0.1???4200??1100??????????S????08:21???0:00?/usr/local/apache2/bin/httpd?-k?start root???????332??0.0??0.0???6048???772?pts/1????S+???08:40???0:00?grep?httpd3.2、worker模式
不僅有主進程和子進程,而且每個子進程下面還有線程
線程的優點:
線程之間共享一段內存,當高并發的情況下,線程很占優勢,占用很少的內存
線程的缺點:
一個進程的所有內存會共享給下面所有的線程,若進程下面的某一個線程出現故障,則進程下面其他所有的線程就會收到牽連
3.3、event模式
和worker一樣,也是線程的工作形式,但是優化了許多
3.4、worker、prefork和event模式對比
prefork:進程之間故障,不會影響其他進程,但高并發時占用內存較大
worker:同一進程下的線程故障,會影響整個進程,但高并發時占用內存可觀
3.5、Apache工作模式的配置
--with-mpm=worker?????#編譯時指定工作模式四、PHP編譯安裝
cd?/usr/local/src/? wget?http://cn2.php.net/get/php-5.5.31.tar.gz/from/this/mirror tar?xf?php-5.5.31.tar.gz? yum?install??zlib?libxml?libjpeg?freetype?libpng?gd?curl?libiconv?zlib-devel?libxml2-devel?libjpeg-devel?freetype-devel?libpng-devel?gb-devel?gb-devel?curl-devel??libxslt-devel?openssl-devel???-y????#安裝依賴包./configure?--prefix=/usr/local/php?--with-apxs2=/usr/local/apache2/bin/apxs?--with-config-file-path=/usr/local/php/etc??--with-mysql=/usr/local/mysql?--with-libxml-dir?--with-gd?--with-jpeg-dir?--with-png-dir?--with-freetype-dir?--with-iconv-dir?--with-zlib-dir?--with-bz2?--with-openssl?--with-mcrypt?--enable-soap?--enable-gd-native-ttf?--enable-mbstring?--enable-sockets?--enable-exif?--disable-ipv6 echo?$? make echo?$? make?install? echo?$? 4.1?安裝錯誤信息 configure:?error:?xml2-config?not?found.?Please?check?your?libxml2?installation 解決方法:yum?install?-y?libxml2-devel?libxml2 configure:?error:?Cannot?find?OpenSSL's?<evp.h> 解決方法:yum?install?openssl-devel?-y configure:?error:?Please?reinstall?the?BZip2?distribution 解決方法:yum?install?-y?bzip2?bzip2-devel configure:?error:?jpeglib.h?not?found. 解決方法:yum?install?libjpeg-devel?-y configure:?error:?png.h?not?found. 解決方法:?yum?install?libpng-devel?-y configure:?error:?mcrypt.h?not?found.?Please?reinstall?libmcrypt. 解決方法:安裝擴展源 #32位源下載地址:http://www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm? #64位下載地址:http://www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_64.noarch.rpmrpm?-ivh?"http://www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm"yum?install?mcrypt?-y 4.2?編譯參數詳解 --with-apxs2=/usr/local/apache2/bin/apxs??????#自動安裝Apache擴展模塊 --with-mysql=/usr/local/mysql???????????#指定mysql的安裝目錄4.3?PHP常見參數/usr/local/php/bin/php?-m????#常見當前模塊/usr/local/php/bin/php?-i????#常見模塊的配置
五、測試PHP解析vim?/usr/local/apache2/conf/httpd.conf
#找到
#AddType?application/x-gzip?.tgz
#添加一行:
AddType?application/x-httpd-php?.php
#添加index.php
DirectoryIndex?index.html?index.php
/usr/local/apache2/bin/apachectl?-t ? ?#檢測語法
Syntax?OK
cd /usr/local/apache2//htdocs
?vim?info.php
<?php
phpinfo();
?>
/usr/local/php/bin/php?-i?|?less ? ? ? ? #測試,同時也記錄PHP編譯參數
phpinfo()
PHP?Version?=>?5.5.31
System?=>?Linux?lab-1-c6.7-x32?2.6.32-573.el6.i686?#1?SMP?Thu?Jul?23?12:37:35?UTC?2015?i686
Build?Date?=>?Jan?19?2016?10:09:40
Configure?Command?=>??'./configure'??'--prefix=/usr/local/php'?'--with-apxs2=/usr/local/apache2/bin/apxs'?'--with-config-file-path=/usr/local/php/etc'?'--with-mysql=/usr/local/mysql'?'--with-libxml-dir'?'--with-gd'?'--with-jpeg-dir'?'--with-png-dir'?'--with-freetype-dir'?'--with-iconv-dir'?'--with-zlib-dir'?'--with-bz2'?'--with-openssl'?'--with-mcrypt'?'--enab
cat?/usr/local/apache2/build/config.nice? #apache編譯參數路徑
cat?/usr/local/mysql/bin/mysqlbug?|?grep?-i?conf ?#Mysql編譯參數路徑
curl?192.168.1.200/info.php?|?head?-10 ? #使用curl查看
??%?Total????%?Received?%?Xferd??Average?Speed???Time????Time?????Time??Current
?????????????????????????????????Dload??Upload???Total???Spent????Left??Speed
??0?????0????0?????0????0?????0??????0??????0?--:--:--?--:--:--?--:--:--?????0<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml"><head>
<style?type="text/css">
body?{background-color:?#ffffff;?color:?#000000;}
5.1PHP的配置
cp?/usr/local/src/php-5.5.31/php.ini-production?/usr/local/php/etc/php ? #復制配置文件
/usr/local/apache2/bin/apachectl?graceful ?重新加載PHP配置文件
六、Discuz安裝
mkdir?/data/www
wget?http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
unzip?Discuz_X3.2_SC_GBK.zip
mv?upload/*?./
rm?-rf?readme/?utility/?upload/?Discuz_X3.2_SC_GBK.zip?
vim?/usr/local/apache2/conf/httpd.conf
找到以下內容,取消注釋
#Include?conf/extra/httpd-vhosts.conf ? ? #啟用虛擬主機配置文件
cp??/usr/local/apache2/conf/extra/httpd-vhosts.conf??/usr/local/apache2/conf/extra/httpd-vhosts.conf.bak ? ? ?#備份配置文件
vim?/usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost?*:80>
???#ServerAdmin?webmaster@dummy-host.example.com ? ? ? ? ? #管理員郵箱,不使用先注釋
????DocumentRoot?"/data/www" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #指定文件目錄
????ServerName?wwww.szk.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#指定域名
????ServerAlias?www.test.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #指定域名別名
???#ErrorLog?"logs/dummy-host.example.com-error_log" ? ? ? #錯誤日志和訪問日志先注釋
???#CustomLog?"logs/dummy-host.example.com-access_log"?common
</VirtualHost>
/usr/local/apache2/bin/httpd?-t ? ? ? ? ? ? ? ?#檢查配置文件語法
httpd:?Could?not?reliably?determine?the?server's?fully?qualified?domain?name,?using?lab-1-c6.7-x32?for?ServerName
Syntax?OK
vim?/usr/local/apache2/conf/httpd.conf
找到以下內容,取消注釋
#ServerName?www.example:80
/usr/local/apache2/bin/apachectl?start
訪問報403錯誤,不允許訪問
vim?/usr/local/apache2/conf/httpd.conf
#找到Deny?from?all改成Allow?from?all
/usr/local/apache2/bin/apachectl?graceful ? #重載服務,進入Discuz安裝頁面,發現很多目錄沒有權限
cd /data/www
chown?-R?daemon?config?data?uc_client/data?uc_server/data/ ? ?#刷新重試
vim?/etc/profile.d/path.sh ? ? ? ? #將mysql添加進PATH路徑
#!/bin/bash
export?PATH=$PATH:/usr/local/mysql/bin/
source?!$ ? ?#更新PATH路徑
echo?$PATH ? ?#查看是否生效
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/
6.1 創建MySql用戶
mysql ? ?#進入MySQL
create?database?discuz; ? ? #創建一個數據庫
grant?all?on?discuz.*?to?'szk'@'localhost'?identified?by?'szk'; ? ?#創建一個用戶szk,密碼也是
6.2 設定discuz安裝參數
OK
轉載于:https://blog.51cto.com/szk5043/1737016
總結
以上是生活随笔為你收集整理的LAMP编译安装,并搭建discuz的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java重复造轮子系列篇-----时间d
- 下一篇: 【转】 linux iio子系统