CENTOS6.5源碼安裝LNMP

CENTOS6.5源碼安裝LNMP

1、安裝前準備


############################################################################################## yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel cmakephp

說明: 在此篇博文中,mysql、php、nginx的源碼下載目錄爲/usr/src/,安裝目錄分別在/usr/local/mysq /usr/local/php /usr/local/nginx ##############################################################################################html

2、安裝MySQL5.6


##############################################################################################node

#安裝目錄:/usr/local/mysqlmysql

#建立用戶組 groupadd mysqlnginx

#建立一個用戶,不容許登錄和不創主目錄c++

useradd -s /sbin/nologin -g mysql -M mysqlweb

#檢查建立用戶算法

tail -1 /etc/passwdsql

#centos最小化安裝後,會有mysql的庫所以先卸載!數據庫

#檢查安裝與否 rpm -qa|grep mysql

#強制卸載

rpm -e mysql-libs-5.1.73-3.el6_5.x86_64(上面檢查出來的名字) --nodeps

#下載MySQL5.6壓縮包

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33.tar.gz

#解壓 tar zxvf mysql-5.6.33.tar.gz #切換到目錄

cd mysql-5.6.17

#編譯

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_USER=mysql \ -DWITH_DEBUG=0 \

-DWITH_SSL=system

#安裝

make && make install

#修改/usr/local/mysql權限

chmod +w /usr/local/mysql chown -R mysql:mysql /usr/local/mysql

#關於my.cnf配置文件:

#在啓動MySQL服務時,會按照必定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索」$basedir/my.cnf」 就是安裝目錄下 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認位置! 注意:在CentOS 6.x版操做系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,須要將此文件改名爲其餘的名字。 如:/etc/my.cnf.bak,不然,該文件會干擾源碼安裝的MySQL的正確配置,形成沒法啓動, 因爲咱們已經卸載了最小安裝完成後的mysq庫因此,就不必操做了。

#進入support-files目錄

cd /usr/local/mysql/support-files/

#若是還有my.cnf請備份

mv /etc/my.cnf /etc/my.cnf.bak cp my-default.cnf /etc/my.cnf

#若是願意也能夠複製配置文件到etc下執行初始化配置腳本,建立系統自帶的數據庫和表,注意配置文件的路徑(這條命令須要執行)
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

#拷貝mysql安裝目錄下support-files服務腳本到init.d目錄 #拷貝腳本

cp mysql.server /etc/init.d/mysqld

#賦予權限

chmod +x /etc/init.d/mysqld

#設置開機啓動

chkconfig mysqld on

#啓動MySQL service mysqld start

#或者

/etc/init.d/mysql start

#MySQL5.6.x啓動成功後,root默認沒有密碼,咱們須要設置root密碼。 設置以前,咱們須要先設置PATH,要不,不能直接調用mysql
#修改/etc/profile文件
vi /etc/profile
#在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH export PATH
#讓配置當即生效 source /etc/profile
#登錄測試,默認是沒有密碼,直接回車就可進入
mysql -uroot -p
#設置mysql密碼,運行一下這條命令就行,而後使用新密碼登陸便可
/usr/local/mysql/bin/mysqladmin -uroot -p password '你的密碼' #注意若是複製上去不能改變密碼請手動輸入
#登錄進命令行模式
mysql -uroot -p
#輸入上面設置的密碼之後可以成功登錄後就標誌着咱們的mysql已經安裝完成了,是否是感受特別興奮呢,至於mysql的詳細設置咱們在之後的項目在具體介紹

##############################################################################################

3、安裝PHP

 

############################################################################################## #安裝目錄:
/usr/local/php
#安裝依賴關係
#libiconv庫爲須要作轉換的應用提供了一個iconv()的函數,以實現一個字符編碼到另外一個字符編碼的轉換。 錯誤提示:configure: error: Please reinstall the iconv library.
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv make && make install
cd ..
#libmcrypt是加密算法擴展庫。 錯誤提示:configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure make && make install
cd ..
#Mhash是基於離散數學原理的不可逆向的php加密方式擴展庫,其在默認狀況下不開啓。 mhash的能夠用於建立校驗數值,消息摘要,消息認證碼,以及無需原文的關鍵信息保存 錯誤提示:configure: error: 「You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/」
wget https://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar -xzvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure make && make install
cd ..
#mcrypt 是 php裏面重要的加密支持擴展庫,Mcrypt擴展庫能夠實現加密解密功能,就是既能將明文加密,也能夠密文還原。
wget http://jaist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
#編譯這部分容易發生錯誤,編譯完先看一下有沒有報error
./configure
make && make install
cd ..
######################################################################
#編譯mcrypt可能會報錯:configure: error: * libmcrypt was not found

vi /etc/ld.so.conf

#最後一行添加

/usr/local/lib/

#載入 ldconfig
# 編譯mcrypt可能會報錯:/bin/rm: cannot remove `libtoolT’: No such file or directory #修改 configure 文件,把RM=’RM′改成RM=′ RM -f’ 這裏的$RM後面必定有一個空格。 若是後面沒有空格,直接鏈接減號,就依然會報錯。

######################################################################

正式開始編譯php!

wget http://au1.php.net/get/php-5.6.26.tar.gz/from/this/mirror

mv mirror php-5.6.26.tar.gz

tar zxvf php-5.6.26.tar.gz

cd php-5.6.26

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts

make && make install

修改fpm配置php-fpm.conf.default文件名稱

mv /usr/local/php/etc/php-fpm.conf.default

/usr/local/php/etc/php-fpm.conf

如下複製操做的文件都在解壓目錄中 複製php.ini配置文件(php.ini-production在解壓的目錄中)

cp php.ini-production /usr/local/php/etc/php.ini

複製php-fpm啓動腳本到init.d

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm

#賦予執行權限
chkconfig --add php-fpm
#添加爲啓動項 chkconfig php-fpm on
#設置開機啓動 #按照標準,給php-fpm建立一個指定的用戶和組
#建立羣組
groupadd www
#建立一個用戶,不容許登錄和不創主目錄
useradd -s /sbin/nologin -g www -M www
#當即啓動
php-fpm service php-fpm start
#或者
/etc/init.d/php-fpm start #回到src/目錄 ##############################################################################################

4、安裝nginx

 

 

############################################################################################## #安裝目錄: /usr/local/nginx-1.10.3 Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,由俄羅斯的程序設計師Igor Sysoev所開發,其特色是佔有內存少,併發能力強,第一個公開版本0.1.0發佈於2004年10月4日 #一、安裝prce(重定向支持)和openssl(https支持,若是不須要https能夠不安裝。) yum -y install pcre* yum -y install openssl* CentOS 6.5 我安裝的時候是選擇的「基本服務器」,默認這兩個包都沒安裝全,因此這兩個都運行安裝便可。 接下來開始安裝 #若是須要安裝別的版本,能夠在官網下載對應的版本 wget http://nginx.org/download/nginx-1.10.3.tar.gz tar -zxvf nginx-1.10.3.tar.gz cd nginx-1.10.3 ./configure --prefix=/usr/local/nginx-1.10.3 \ --with-http_ssl_module \ --with-http_stub_status_module --with-pcre make make install #開啓nginx進程 /usr/local/nginx-1.10.3/sbin/nginx #重啓或關閉進程: /usr/local/nginx-1.10.3/sbin/nginx -s reload /usr/local/nginx-1.10.3/sbin/nginx -s stop #關閉防火牆,或者添加防火牆規則就能夠測試了。 service iptables stop #關閉防火牆 #或者添加一條防火牆規則 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT service iptables restart #配置nginx支持php #nginx的配置文件nginx.conf在 cd /usr/local/nginx/conf #nginx默認web文件夾在 /usr/local/nginx/html 若是須要nginx支持PHP須要修改nginx.conf,加入以下語句: location ~ \.php$ { #root html; #此處和server下面root保持一致,默認爲html fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #在conf下新建vhosts文件夾,用於存放各個域名的配置文件 mkdir vhost ##############################################################################################

相關文章
相關標籤/搜索