搭建 LNMP 環境

搭建 LAMP 環境

一、環境介紹

二、必裝依賴軟件

三、編譯安裝 Nginx-1.6.3

四、二進制安裝 MYSQL-5.5.33

五、編譯安裝 PHP-5.3.27

六、檢測 nginx與mysql nginx與php 是否相連


一、環境介紹

搭建這個環境,所有服務都安裝在一臺虛擬機中,在此介紹一下我的虛擬機

CentOS-6.7-x86_64    保證虛擬機可以正常上網

IP:192.168.6.36

hostname:yuci

關閉  iptbales   selinux

Image


二、必裝依賴軟件

全部通過 yum 安裝

lrzsz      # 軟件和此環境沒有什麼關係。安裝後可以通過xshell直接拖拽軟件包

pcre

pcre-devel

openssl-devel

yum -y install lrzsz pcre pcre-devel openssl-devel  

rpm -qa lrzsz pcre pcre-devel openssl-devel

Image(1)

Image(2)


三、編譯安裝 Nginx-1.6.3

創建一個專門用於存放軟件包的目錄

mkdir -p /home/yuci/tools

Image(3)


創建 nginx 用戶,並檢查

useradd -s /sbin/nologin/ -M nginx

id nginx

Image(4)


解壓 nginx 壓縮包(安裝過 lrzsz ,所以可直接拖拽軟件的該目錄)

tar zxf nginx-1.6.3.tar.gz

Image(5)


開始編譯安裝 nginx , 在 nginx 目錄下輸入一下命令

Image(6)

./configure --prefix=/application/nginx-1.6.3 --user=nginx \

--group=nginx --with-http_ssl_module \

--with-http_stub_status_module \

&& make && make install


創建一個軟連接,保留軟件版本的同時方便操作

ln -s /application/nginx-1.6.3/ /application/nginx

Image(7)


啓動 nginx 服務

/application/nginx/sbin/nginx

Image(8)


瀏覽器輸入IP地址,nginx 搭建成功

Image(9)


四、二進制安裝 MYSQL-5.5.33

解壓 mysql 安裝包

tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz

Image(10)


切到 /application 目錄,lamp 環境中的所有服務都將安裝到此目錄中,方便管理

將 mysql 移動到 /application 目錄中,並保留 mysql 版本號

mv /home/yuci/tools/mysql-5.5.33-linux2.6-x86_64 ./mysql-5.5.33

Image(11)


爲 mysql 創建軟連接,方便管理

ln -s /application/mysql-5.5.33/ /application/mysql

Image(12)


創建 mysql 用戶

useradd -s /sbin/nologin/ -M mysql

id mysql

Image(13)


初始化 mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

Image(14)


授權 mysql ,將其屬主屬組改爲 mysql 用戶

chown -R mysql:mysql /application/mysql

Image(15)


拷貝 mysql 配置文件,選取 small 就好

cp support-files/my-small.cnf /etc/my.cnf

Image(16)


修改 mysql 的啓動腳本 mysqld_safe,因爲 mysql 的默認安裝路徑在 /usr/local/mysql,但現在 mysql 在 /application 目錄中,所以通過 sed 命令更改

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe

Image(17)


啓動 mysql ,通過啓動腳本 mysql_safe,並放入後臺執行

/application/mysql/bin/mysqld_safe &

Image(18)


通過端口檢查 mysql 是否啓動

lsof -i :3306

Image(19)


每次通過 mysqld_safe 啓動比較麻煩,所以配置變量,通過修改 /etc/profile 實現即可

vim /etc/profile      

PATH="/application/mysql/bin:$PATH" 

source /etc/profile      # 刷新生效

Image(20)

Image(21)


拷貝 mysql 啓動腳本,重命名爲 mysqld 。

替換 mysql 啓動腳本中的路徑,將/usr/local/mysql 替換爲 /application/mysql。

給 mysqld 這個腳本增加執行權限

cp support-files/mysql.server /etc/init.d/mysqld

sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

Image(22)


使用 killall 命令殺死正在運行的 mysql 服務,重複殺,直到出現 mysqld: no process killed 的提示

killall mysqld

Image(23)


啓動 mysql,並檢查

/etc/init.d/mysqld start

Image(24)


將 mysql 設爲開機啓動

chkconfig mysqld on

Image(25)


設置 mysql 的 root 密碼爲 123456,並登陸 mysql

mysqladmin -uroot password "123456"

mysql -uroot -p123456

Image(26)


五、編譯安裝 PHP-5.3.27

安裝 PHP 太麻煩,先確定一下流程吧

1)確認nginx ,mysql服務已經啓動

2)通過 yum 安裝

       freetype-devel

       libjpeg-devel    # 因爲版本升級的問題,yum 執行安裝時是 libjpeg-devel ,但實際安裝的是 libjpeg-turbo-devel

       libpng-devel

       gd

       gd-devel

       libcurl-devel

       libxslt-devel

3)編譯安裝 libiconv-1.14 介個軟件,因爲它無法通過 yum 成功安裝

4)通過 wget 新下載一個 epel 源

5)安裝 libmcrypt   libmcrypt-devel 包

6)安裝 mhash 加密擴展庫

7)安裝 mcrypt 加密擴展庫

8)編譯安裝 PHP-5.3.7


1)

在安裝 PHP 之前首先應該確認一下 nginx與mysql 服務都已經啓動

lsof -i :80

lsof -i :3306

Image(27)


2)

安裝php需要的各種lib庫文件,其中安裝 gd-devel 時安裝失敗,同時安裝 gd gd-devel 才安裝上

yum -y install freetype-devel libjpeg-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel

rpm -qa freetype-devel libjpeg-turbo-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel

(libjpeg-devel == libjpeg-turbo-devel)

Image(28)


3)

安裝 libiconv,這個軟件無法通過 yum 安裝,只能編譯安裝了

解壓軟件 -> 切到其目錄中 -> 執行命令,編譯安裝

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv && make && make install

Image(29)


4)

安裝 epel 源,因爲後面還要安裝的 libmcrypt 庫。介個庫離不開介個源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

Image(30)


5)

安裝 libmcrypt   libmcrypt-devel 包,並檢查

yum -y install libmcrypt-devel    

rpm -qa libmcrypt*

Image(31)

Image(32)


6)

安裝 mhash 加密擴展庫,並檢查

yum -y install mhash mhash-devel

rpm -qa mhash mhash-devel

Image(33)

Image(34)


7)

安裝 mcrypt 加密擴展庫,並檢查

yum -y install mcrypt

rpm -qa mcrypt

Image(35)

Image(36)


8)

編譯安裝 PHP-5.3.7,將 php 的安裝包放到規定的 /home/yuci/tools 目錄中

tar zxf php-5.3.27.tar.gz

cd php-5.3.27

Image(37)


創建文件,不創建 PHP 編譯中會報錯

touch ext/phar/phar.phar

Image(38)


創建一個軟連接文件

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/

Image(39)


正式編譯安裝 PHP, 編譯路徑如下, PHP 目錄下執行即可

./configure \

--prefix=/application/php5.3.27 \

--with-mysql=/application/mysql \

--with-iconv-dir=/usr/local/libiconv \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-safe-mode \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-curlwrappers \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--with-mcrypt \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--enable-short-tags \

--enable-zend-multibyte \

--enable-static \

--with-xsl \

--with-fpm-user=nginx \

--with-fpm-group=nginx \

--enable-ftp

make && make install

看到以下畫面,說明安裝成功,繼續操作

Image(40)


給 php 創建一個軟連接

ln -s /application/php5.3.27/ /application/php

Image(41)


配置 PHP 解析文件,php.ini

ls -l php.ini*

Image(42)

Image(43)


將配置文件複製到 php 安裝目錄,並改名爲 php.ini

cp php.ini-production /application/php/lib/php.ini

Image(44)


php進程管理文件生效(php-fpm.conf 進程管理)

Image(45)

cp php-fpm.conf.default php-fpm.conf

Image(46)


啓動 php-fpm,檢查是否啓動,查看 php-fpm 端口

/application/php/sbin/php-fpm

ps -ef | grep php-fpm

ss -lntup | grep php-fpm

Image(47)


六、編輯 nginx.conf 文件

將文件過濾,看着也方便,編輯如下

cd /application/nginx/conf

egrep -v "#|^$" nginx.conf.default > nginx.conf

Image(55)


檢測 nginx與mysql nginx與php 是否相連

在此目錄下分別創建 phpinifo.php,mysql.php 兩個文件,文件內容如下

Image(49)

<?php

phpinfo();

?>

Image(50)

<?php

       $link_id=mysql_connect('localhost','root','123456') or mysql_error();

       if($link_id){

                echo "mysql successful by yuci.";

       }else{

                echo mysql_error();

       }

?>            

Image(51)


檢查語法,平滑加載

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

Image(52)


瀏覽器中分別輸入

192.168.6.36/phpinfo.php

192.168.6.36/mysql.php

Image(53)

Image(54)

大功告成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章