這次安裝在Centos上,我採用的CentOS的版本是:CentOS release 6.5 (Final)php
能夠經過如下命令查看:lsb_release -ahtml
清理已安裝的軟件包node
一、檢查是否安裝了mysqlmysql
rpm -qa|grep mysqllinux
強制卸載nginx
rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodepsc++
二、清理httpd:yum -y remove httpdweb
三、清理mysql:yum -y remove mysqlsql
我這裏是沒有安裝過mysql數據庫
四、清理PHP:yum -y remove php
我這裏沒有安裝php
我把全部的安裝包都放在了/usr/local/src下面,若是沒有可自行建立,進入目錄:
cd /usr/local/src/
yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof
安裝完成以後會出現下圖(這個時間大約在1分鐘):
1.安裝libiconv
cd /usr/local/src
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 ..
2.安裝libmcrypt
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 ..
3.安裝 Mhash 下載並安裝mbash 網址:http://mhash.sourceforge.net/,下載下來以後用winscp這種工具傳到linux的/usr/local/src目錄下
tar zxvf mhash-0.9.9.9.tar.gz
./configure
make && make install
cd ..
4.安裝Mcrypt
wget http://iweb.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
#注意一下這步運行下,否則下面可能報錯
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure
make && make install
cd ..
編譯mcrypt可能會報錯:configure: error: *** libmcrypt was not found
vi /etc/ld.so.conf
最後一行添加
/usr/local/lib/
保存並退出::wq!
執行載入命令:
ldconfig
1.按照標準須要給mysql建立所屬用戶和用戶組
建立用戶組
groupadd mysql
建立一個用戶,不容許登錄和不創主目錄
useradd -s /sbin/nologin -g mysql -M mysql
檢查建立用戶
tail -1 /etc/passwd
注:MySQL從5.5版本開始,經過./configure進行編譯配置方式已經被取消,取而代之的是cmake工具。 所以,咱們首先要在系統中源碼編譯安裝cmake工具。
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar zxvf cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./configure
make && make install
2.使用cmake來編譯安裝mysql5.6.17,初次編譯mysql的時候時間比較長,請耐心等待
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
到這裏mysql5.6.17就安裝好了,接下來就是配置一些mysql相關的東西:
3.修改/usr/local/mysql權限
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
4.關於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庫因此,就不必操做了。
5.cp my-default.cnf /etc/my.cnf
執行初始化配置腳本,建立系統自帶的數據庫和表,注意配置文件的路徑:
命令以下:
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
6.拷貝mysql安裝目錄下support-files服務腳本到init.d目錄
拷貝腳本:cp support-files/mysql.server /etc/init.d/mysqld
賦予權限:hmod +x /etc/init.d/mysqld
設置開機啓動 這步能夠不操做:chkconfig mysqld on
啓動MySQL:ervice mysqld start
或者:/etc/init.d/mysql start
7.MySQL5.6.x啓動成功後,root默認沒有密碼,咱們須要設置root密碼。 設置以前,咱們須要先設置PATH,要不,不能直接調用mysql,操做以下:
修改/etc/profile文件
vi /etc/profile
在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
讓配置當即生效
source /etc/profile
8.登錄測試,默認是沒有密碼,直接回車就可進入
9.設置mysql密碼(這一步能夠先不設置),命令以下:
/usr/local/mysql/bin/mysqladmin -uroot -p password '你的密碼'
10.驗證mysql安裝路徑
ls -ld /usr/local/mysql/
到此爲止mysql已安裝完成了,接下來安裝nginx
nginx所需的依賴關係,通常咱們都須要先裝pcre, zlib,前者爲了重寫rewrite,後者爲了gzip壓縮。若是系統已經yum 安裝了這些庫也不要緊,無需卸載。直接編譯安裝最新的就能夠了。爲了一次性完成編譯,先準備編譯下面的依賴關係!
1.安裝PCRE庫
http://ncu.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz
tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39
./configure
make && make install
2.安裝zlib庫
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make && make install
3.安裝openssl
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar -zxvf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./config
make && make install
4.準備工做完成,如今開始安裝nginx!,這裏添加了前面準備的庫關係,注意路徑!
wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar -zxvf nginx-1.9.9.tar.gz
cd nginx-1.9.9
./configure \
--user=www \
--group=www \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-pcre=/usr/local/src/pcre-8.39 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.0.1g
make && make install
useradd -M -s /sbin/nologin nginx
#修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
把#user nobody 改爲 user nginx;
#測試一下nginx配置文件
/usr/local/nginx/sbin/nginx -t
#啓動nginx
/usr/local/nginx/sbin/nginx
#通常來講在nginx的配置文件修改後進行以下操做,
/usr/local/nginx/sbin/nginx -t檢測一下配置文件是否正確,若是正確的話
再使用/usr/local/nginx/sbin/nginx -s reload 使nginx平滑啓動
1.下載安裝包及編譯安裝
wget http://mirrors.sohu.com/php/php-5.6.6.tar.gz
tar -zxvf php-5.6.6.tar.gz
cd php-5.6.6
./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-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --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 test
make && make install
2.修改fpm配置php-fpm.conf.default文件名稱
mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
3.複製php.ini配置文件
cp php.ini-production /usr/local/php/etc/php.ini
4.複製php-fpm啓動腳本到init.d
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
5.賦予執行權限
chmod +x /etc/init.d/php-fpm
6.添加爲啓動項
chkconfig --add php-fpm
7.設置開機啓動
chkconfig php-fpm on
8.按照標準,給php-fpm建立一個指定的用戶和組
建立羣組:groupadd www
建立一個用戶,不容許登錄和不創主目錄 :useradd -s /sbin/nologin -g www -M www
9.當即啓動php-fpm
service php-fpm start
#或者
/etc/init.d/php-fpm start
10.修改nginx配置文件使之支持php
vim /usr/local/nginx/conf/nginx.conf
找到下面的這段,把其
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
修改成
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
修改完配置以後
測試一下是否有錯:/usr/local/nginx/sbin/nginx -t
平滑重啓:/usr/local/nginx/sbin/nginx -s reload
1.進入nginx的服務器目錄,這一步是在nginx.conf裏的root中配置的,能夠自行修改。
cd /usr/local/nginx/html
2.新建一個php文件:vim l.php
其內容爲<?php phpinfo();?>
保存並退出::wq! 注:字母w前要有一個冒號
而後運行:
http://127.0.0.1/l.php(這裏把IP換成你本身的服務器的IP)
出現上面的圖就說明PHP和NGINX安裝成功了。
3.測試mysql
打開剛纔新建的那個文件:
vim l.php,輸入第三行-第10行代碼,代碼是測試php是否能夠聯接mysql。
保存並退出::wq! 注:字母w前要有一個冒號
而後運行:
http://127.0.0.1/l.php(這裏把IP換成你本身的服務器的IP)
這裏說明php能夠聯接mysql了。
到這裏以編譯的形式安裝LNMP就完成了。若是因爲項目的要求還須要php或是nginx一些其它的擴展,再從新編譯一下php或是nginx就能夠了
擴展閱讀:
若是yum安裝 的話,就很是簡單了,能夠看一下這個:https://my.oschina.net/u/872157/blog/31234