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訪問 可以發現:
LNMP搭建成功!!!
然後要做配置,讓PHP能夠解析.
vim /usr/local/nginx/conf/nginx.conf (默認配置文件)
打開PHP功能並修改
/usr/local/nginx/sbin/nginx -s reload(重新加載)
然後將ROOT拿出來做全局設置
然後cd /usr/local/nginx/html
vi 2.php
<?php
echo “測試是否解析”
?>
說明LNMP 可以解析PHP, PHP可以在LNMP環境下跑起來了