ngnix之lnmp环境搭建及Dvbbs搭建
LNMP環境搭建
引導語:前面我們做過LAMP環境的搭建,而對于后起之秀nginx而言,其性能相對apache提高了很多,?故本實驗借助于nginx來LNMP環境,?
環境搭建分三步:mysql綠色包安裝,php源碼包安裝,nginx源碼包安裝?
1.mysql綠色源碼包安裝,可以去這下載源碼包http://downloads.mysql.com/archives.php
1)首先通過源碼安裝mysql,解壓后,可通過目錄下的INSTALL-BINARY來進行操作;
To?install?and?use?a?MySQL?binary?distribution,?the?basic?command
???sequence?looks?like?this:
shell>?groupadd?mysql?????#創建mysql組
shell>?useradd?-r?-g?mysql?mysql???#創建mysql用戶并使其屬于mysql組
shell>?cd?/usr/local
shell>?tar?zxvf?/path/to/mysql-VERSION-OS.tar.gz
shell>?ln?-s?full-path-to-mysql-VERSION-OS?mysql#創建軟鏈接,本實驗中直接重名
shell>?cd?mysql
shell>?chown?-R?mysql?.?#修改mysql目錄及下所有文件的用戶為mysql
shell>?chgrp?-R?mysql?.#修改mysql目錄及下所有文件的用戶組為mysql
shell>?scripts/mysql_install_db?--user=mysql#初始化mysql數據庫
shell>?chown?-R?root?.#修改當前目錄下的所有者為root
shell>?chown?-R?mysql?data?#修改data目錄及其下的所有文件為的所有者改為mysql
#?Next?command?is?optional#下面命令是可選的(本案例省略)
shell>?cp?support-files/my-medium.cnf?/etc/my.cnf#復制并不用編輯該配置文件,默認情況即可
shell>?bin/mysqld_safe?--user=mysql?&#以mysql用戶啟動mysql
#?Next?command?is?optional#下面命令是可選的
shell>?cp?support-files/mysql.server?/etc/init.d/mysql.server
2)如上面語句一樣,先創建mysql用戶與組,并將解壓后的軟件包重命名為mysql,圖中1修改mysql目錄的權限,2是初始化mysql數據庫;
3)按照INSTALL-BINARY修改權限:chwon?-R?root??.?;?chwon??-R??mysql??data;
4)修改好了,看是否能正常啟動mysql服務,發現并不能用service來啟動mysqld服務;
5)將support-files下mysql.server復制到/etc/init.d/下并命名為mysqld;
[root@centos?support-files]#?cp?mysql.server??/etc/init.d/mysqld
6)加載mysql的庫文件,與頭文件(1是編輯mysql.conf;2是查看mysql庫文件是否正常加載上了)
在mysql.conf文件中寫入內容:/usr/local/mysql/lib
?
7)創建軟鏈接來包含mysql的頭文件;
[root@centos?include?]?#?pwd
/usr/include?
[root@centos?include?]?#?ln??-s??/usr/local/mysql/include/????mysql
2.nginx相關包安裝
Ⅰ、安裝libevent
a.首先檢測環境yun?grouplist|less
Development?Tools
Development?Libraries
Legacy?Software?Development
X?Software?Development這幾個組包是否安裝
注:對應成中文就是:Development?Libraries??開發庫;?Development?Tools?開發工具;
Legacy?Software?Development?老的軟件開發;?X?Software?Development??X軟件開發;
例:yum?groupinstall?"Development?Libraries",注意一定要加引號。
b.yum?install?gcc??openssl-devel??pcre-devel(主要是支持地址重寫)??zlib-devel
c.將所需的libevent軟件包解壓到/usr/local/src下,執行?./configure;?make?;?make?install?
d.安裝libevent后,要手動加載libevent庫文件,
創建/etc/ld.so.conf.d/libevent.conf文件?在其中加入/usr/local/lib
Ⅱ、安裝nginx
1)首先創建nginx組與用戶
groupadd??-r??nginx
useradd?-r?-g?nginx?-s?/bin/false??-M?nginx
2)將nginx源碼包解壓后,并切換其目錄下執行安裝:
./configure?\
?--prefix=/usr/local/nginx?\??
--sbin-path=/usr/sbin/nginx?\
?--conf-path=/etc/nginx/nginx.conf?\
?--error-log-path=/var/log/nginx/error.log?\
?--http-log-path=/var/log/nginx/access.log?\
?--pid-path=/var/run/nginx/nginx.pid?\
?--lock-path=/var/lock/nginx.lock?\
?--user=nginx?\
?--group=nginx?\
?--with-http_ssl_module?\
?--with-http_flv_module?\
?--with-http_stub_status_module?\
?--with-http_gzip_static_module?\
?--http-client-body-temp-path=/var/tmp/nginx/client/?\??(此行可以不要)
?--http-proxy-temp-path=/var/tmp/nginx/proxy/?\
?--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/?\
?--with-pcre
make?
make?install
3)安裝后執行nginx命令會發現如下圖:
4)創建目錄,再次啟動nginx,用netstat查看相關端口;
[root@host?html]#?netstat?-utlpn?|grep?80
tcp????????0??????0?0.0.0.0:80??????????????????0.0.0.0:*???????????????????LISTEN??????28071/nginx?
5)nginx安裝好后,我們來安裝php的源碼包吧,
3.PHP源碼包安裝
1)將所需源碼包解壓到/usr/loacl/src/,并切換到該目錄,執行安裝:
./configure?\
?--prefix=/usr/local/php?\
?--with-mysql=/usr/local/mysql/?\
--with-zlib?--enable-xml?--disable-rpath?\
--enable-bcmath??--with-gd?\
--enable-shmop?--enable-sysvsem?\
--with-curl?--with-curlwrappers?--enable-fpm\
--with-openssl?--with-mhash?--enable-sockets?\
--with-ldap?--with-ldap-sasl?--with-xmlrpc?-enable-zip?--enable-soap?\
make
make?install
2)復制php的配置文件
cp?php.ini-development?/usr/local/php/php.ini保持初始狀態即可
3)復制一份php-fpm的主配置文件
cd?/usr/local/php/
cp?-p??etc/php-fpm.conf.defaultetc/php-fpm.conf
并做如下修改:
將listen?=?127.0.0.1:9000這行注釋掉
listen?=?/var/run/php-fpm/php-fpm.sock
4)根據修改項創建php-fpm目錄
[root@server?~]#?mkdir?/var/run/php-fpm
[root@server?~]#?/usr/local/php/sbin/php-fpm??//啟動php-fpm
5)修改nginx的配置文件/etc/nginx/nginx.conf,
記得"include???fastcgi.conf"
6)如下圖編輯nginx主目錄/usr/local/nginx/html/index.php文件,
7)在測試機用瀏覽器訪問,如下圖,說明php與nginx關聯成功,
a.關聯php成功;
b.可以正常連接數據庫;
既然環境搭好了,那我們就在此基礎上來搭建一下Dvbbs吧,
Dvbbs安裝配置
注:可以去這http://dp.dvbbs.net/下載dvbbs的軟件包,
1.將軟件包解壓后將所需upload目錄上傳到/usr/local/nginx/html/命名為dvbbs
2.通過瀏覽器訪問http://192.168.142.2/dvbbs,如下圖;
3.記得修改相關目錄的權限為777,在同意“安裝協議”后,進入數據庫設置,如下圖:
4.在設置論壇分類、論壇插件后,Dvbbs將開始初始化過程,在初始化完成后即可根據提供的地址訪問論壇,
wordpress的配置,參看《lamp源碼安裝及案例配置》phpwind與wordpess簡例。
要注意dvbbs和wordpress各自的存放目錄,本實驗均放在/usr/local/nginx/html/下以各自名命名的目錄下。
實現基于主機頭的虛擬主機
1.在nginx的主配置文件/etc/nginx/nginx.conf添加如下內容:
2,重啟nginx服務,由于沒有配置dns服務器,修改客戶機的host文件,添加
192.168.142.2?blog.liuyuan51.com
192.168.142.2?bbs.liuyuan51.com
3,客戶機host文件修改后,訪問如下
php編譯安裝時錯誤
1、/usr/local/src/php-5.3.7/sapi/cli/php:?error?while?loading?sharedlibraries:?libmysqlclient.so.18:?cannot?open?shared?object?file:?No?such?fileor?directory
mysql編譯安裝忘記導入庫文件了,導入庫就可以解決。
[root@centos?ld.so.conf.d]#?pwd?
/etc/ld.so.conf.d
[root@centos?ld.so.conf.d]#?cp?qt-i386.conf??mysql.conf?
[root@centos?ld.so.conf.d]#?cat?mysql.conf?
/usr/local/mysql/lib
[root@centos?ld.so.conf.d]#?ldconfig??//重新加載動態鏈接庫
2、Generating?phar.phar
chmod:?cannot?access?`ext/phar/phar.phar':No?such?file?or?directory
在對php進行configure的時候,只需要在./configure的后面加上--without-pear?即可.
啟動php-fpm時報錯
[06-Jun-2013?16:42:15]?ALERT:?[pool?www]pm.min_spare_servers(0)?must?be?a?positive?value
[06-Jun-2013?16:42:15]?ERROR:?failed?topost?process?the?configuration
[06-Jun-2013?16:47:39]?WARNING:?[pool?www]pm.start_servers?is?not?set.?It's?been?set?to?20.
配置php-fpm.conf
#vim??etc/php-fpm.conf
pm.start_servers?=?20
pm.max_spare_servers?=?35
pm.min_spare_servers?=?5
本文轉自 劉園 ?51CTO博客,原文鏈接:http://blog.51cto.com/colynn/1054394
總結
以上是生活随笔為你收集整理的ngnix之lnmp环境搭建及Dvbbs搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析NSTimer CADisplay
- 下一篇: 用CORS 解决vue.js djang