linux下LNMP環境的搭建

lamp=linux+apache+mysql+php; lnmp=Linux+nginx+mysql+php 他們的區別在於apache和nginx和php結合的模式不同,我們講的這兩個架構中,php在編譯的時候以一個模塊的形式和apache成爲了一個整體,這種情況下我們是可以把php的安裝目錄/usr/local/php刪除的。而lnmp中的php啓動了一個服務php-fpm,這種模式相當於nginx處理php腳本時,直接把請求轉發給了php-fpm,說白了就是一個代理。這個php的安裝目錄是不可以刪除的。 這兩種模式其實是可以共存的,編譯配置的時候,把prefix=後面的目錄改一下即可,不讓它覆蓋。


1.Mysql的安裝(5.6會依懶包 所以安裝過程會得安裝依懶包)

mysql5.6.29tar.gz包 本次採用源碼編譯(不過工作中不建議用源碼編譯,太浪費時間,還是採用二進制源碼包安裝比較好)

先下載包然後把包拷貝到 /usr/local/src

然後解包

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \(安裝路徑)

-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \(socket文件)

-DDEFAULT_CHARSET=utf8 \ (默認字符集)

-DDEFAULT_COLLATION=utf8_general_ci \(默認編碼)

-DWITH_EXTRA_CHARSETS=utf8,gbk \(額外的編碼)

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \(啓用PERFSCHEMA引擎支持

-DWITH_FEDERATED_STOGAGE_ENGINE=1 \(啓動FEDERATE引擎支持

-DWITH_PARTITION_STORAGE_ENGINE=1 \(啓動PARTITION引擎支持

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \(啓動ARCHIVE引擎支持

-DWITH_READLINE=1 \(使用readline功能)

-DMYSQL_DATADIR=/usr/local/mysql/data \(數據庫數據目錄)

-DMYSQL_TCP_PORT=3306(TCP/IP 端口)

useradd -s /sbin/nologin -M mysql

mkdi -p /data/mysql

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (datadir 存放數據)

5.mysql的配置文件在(/etc/my.cnf)

cd support-files/

cp my-large.cnf /etc/my.conf

vi my.conf

【mysqld】用來配置mysql服務的

log-bin=mysql-bin(更新數據會有相應的記錄日誌)--.>主從有用

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

vi /etc/init.d/mysqld

找到

basedir=/usr/local/mysql

datadir=/data/mysql

chkconfig -add mysqld (加入系統服務列表)

chkconfig mysqld on(開機啓動)

/etc/init.d/mysqld start

ps -aux |grep mysql

netstart -lnp|grep mysql 

安裝PHP(5.5.29)

cd php-5.5.29

創建相關用戶
useradd -s /sbin/nologin php-fpm

配置編譯參數

./configure --prefix=/usr/local/php   --with-config-file-path=/usr/local/php/etc  --enable-fpm  --with-fpm-user=php-fpm  --with-fpm-group=php-fpm  --with-mysql=/usr/local/mysql  --with-mysql-sock=/tmp/mysql.sock  --with-libxml-dir  --with-gd  --with-jpeg-dir  --with-png-dir  --with-freetype-dir  --with-iconv-dir  --with-zlib-dir  --with-mcrypt

--enable-soap  --enable-gd-native-ttf  --enable-ftp  --enable-mbstring  --enable-exif  --disable-ipv6

make &make install

cp php.ini-production /usr/local/php/etc/php.ini (拷貝配置文件)

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm(拷貝啓動腳本文件)

chmod 755 ./etc/init.d/php-fpm (添加X的權限)

chkconfig --add php-fpm (開機啓動)

啓動的配置文件php-fpm.conf 

cd /usr/local/php/etc/ 

mv php-fpm.default php-fpm.conf

檢查是否錯誤:/usr/local/php/sbin/php -fpm -t

php.ini 是php的全局配置文件,比如我要配置時區,配置禁止函數。
php-fpm.conf 是php-fpm 專屬的配置文件,比如配置運行服務的用戶,配置啓動參數等,咱們視頻都有講。
php-fpm 就是一個啓動二進制文件。




Nginx安裝

cd /usr/local/src 

wget http://mirrors.sohu.com/nginx/nginx-1.9.9.tar.gz

tar xvf nginx-1.9.9.tar.gz

cd nginx-1.9.9

./configure \

--prefix=/usr/local/nginx \
--with-pcre(正則庫)
安裝過程出錯:需要安裝一個pcre-devel (devel代表是開發需要的包,一般缺啥包都是要devel)
make & make install
echo $? (結果是0代表沒有出錯)
cd /usr/local/nginx 生成4個目錄
iptables -F(暫時清空防火牆)
/usr/local/nginx/sbin/nginx (回車啓動)
在瀏覽器用IP訪問 可以發現:

wKioL1ddFE6i_zr6AAA8ICHOYrU284.png-wh_50


LNMP搭建成功!!!
然後要做配置,讓PHP能夠解析.
vim /usr/local/nginx/conf/nginx.conf (默認配置文件)

打開PHP功能並修改

/usr/local/nginx/sbin/nginx -s reload(重新加載)

wKiom1ddE5WD3K0pAAAZYynBZtQ211.png-wh_50

然後將ROOT拿出來做全局設置

wKioL1ddFNvCNdtZAAAJvom5z54728.png-wh_50

然後cd /usr/local/nginx/html

vi 2.php 

<?php

echo “測試是否解析”

?>

wKioL1ddFQ7SNN9tAAAPvJUR-1w593.png-wh_50

說明LNMP 可以解析PHP, PHP可以在LNMP環境下跑起來了

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