版本說明
- os:CentOS 6.8
- php:5.5.38
- nginx:1.10.3
- mysql:5.6
安裝步驟
環(huán)境準(zhǔn)備
lnmp整體環(huán)境安裝至/usr/local/lnmp
目錄下
# 創(chuàng)建目錄
mkdir -p /usr/local/lnmp
php安裝
# 下載php源碼
wget -P /usr/local/lnmp/src http://php.net/get/php-5.5.38.tar.gz/from/this/mirror
# 解壓
tar xzf /usr/local/lnmp/src/php-5.5.38 -C /usr/local/lnmp/src
# 配置編譯選項(這里默認(rèn)編譯pdo启具,fpm熬甚,mysql模塊帖努,更多編譯選項可以通過configure --help 查看)
cd /usr/local/lnmp/src/php-5.5.38 && ./configure --prefix=/usr/local/lnmp/php5.5.38 --enable-fpm --enable-mysqlnd --with-mysql --with-mysqli --with-pdo-mysql
# 編譯 && 安裝
make && make install
# 添加mysql用戶
# 初始化db
/usr/local/lnmp/mysql5.6/scripts/mysql_install_db --user=mysql --datadir=/usr/local/lnmp/mysql5.6/data/mysql
nginx安裝
# 下載nginx源碼
wget -P /usr/local/lnmp/src http://nginx.org/download/nginx-1.10.3.tar.gz
# 解壓
tar -xzf /usr/local/lnmp/src/nginx-1.10.3.tar.gz -C /usr/local/lnmp/src
# 配置編譯選項
cd /usr/local/lnmp/src/nginx-1.10.3 && ./configure --prefix=/usr/local/lnmp/nginx1.10.3
# 編譯 && 安裝
make && make install
mysql安裝
# 下載源碼
wget -P /usr/local/lnmp/src https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.36.tar.gz
# 解壓
tar xzf /usr/local/lnmp/src/mysql-5.6.36.tar.gz -C /usr/local/lnmp/src
# 配置編譯選項(mysql從5.5起,源碼安裝使用cmake了
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql5.6 \
-DMYSQL_DATADIR=/usr/local/lnmp/data/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1)
# 編譯 && 安裝
make && make install
# 添加mysql賬戶
useradd mysql
# 修改mysql文件夾屬主
chown -R mysql:mysql /usr/local/lnmp/mysql5.6
# 初始化db
/usr/local/lnmp/mysql5.6/scripts/mysql_install_db --user=mysql --datadir=/usr/local/lnmp/mysql5.6/data/mysql
# 修改配置文件,指定data_dir參數(shù)為編譯時的參數(shù)
datadir=/usr/local/lnmp/mysql5.6/data/mysql
# 啟動mysql
/usr/local/lnmp/mysql5.6/bin/mysqld_safe --defaults-file=/usr/local/lnmp/mysql5.6/etc/my.cnf &
配置lnmp && 測試
配置fpm
# 拷貝一份默認(rèn)的配置文件
cp /usr/local/lnmp/php5.5.38/etc/php-fpm.conf.default /usr/local/lnmp/php5.5.38/etc/php-fpm.conf
# 修改配置文件(直接修改全區(qū)段撩幽,配置監(jiān)聽端口為9999)
listen = 127.0.0.1:9999
# 啟動fpm
/usr/local/lnmp/php5.5.38/sbin/php-fpm -c ../etc/php.ini
配置nginx
- 修改nginx.conf配置文件中server段配置如下
server {
listen 8999;
server_name lnmp.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9999;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
- 在指定的root目錄下創(chuàng)建index.php文件(這里使用默認(rèn)的html目錄)
echo "<?php hello world镀裤!" > /usr/local/lnmp/nginx1.10.3/html/index.php
- 重啟nginx
/usr/local/lnmp/nginx1.10.3/sbin/nginx -s reload
訪問
- 本地綁定host
- 訪問lnmp.com:8999
常用操作
nginx基本操作
- 啟動:
nginx -c nginx配置文件路徑
- 重啟:
nginx -s reload
- 關(guān)閉:
kill -QUIT <nignx-master-pid>
fpm基本操作
- 啟動:
php-fpm -c php.ini文件路徑 -y php-fpm.conf文件路徑
- 重啟:
kill -USR2 <fpm-master-pid>
- 關(guān)閉:
kill -INT <fpm-master-pid>
mysql基本操作
- 啟動:
/usr/local/lnmp/mysql5.6/bin/mysqld_safe --defaults-file=/usr/local/lnmp/mysql5.6/etc/my.cnf
- 停止:
/usr/local/lnmp/mysql5.6/bin/mysqladmin -h 127.0.0.1 -P 6000 shutdown
安裝過程中可能遇到的問題
缺少依賴庫
這種問題直接使用yum安裝缺少的依賴庫即可,只不過注意安裝的包應(yīng)該是開發(fā)包(*-devel)
mysql5.5起開始使用cmake
- mysql cmake 配置:http://laowafang.blog.51cto.com/251518/1294964/
- 注意僚害,如果重新運(yùn)行cmake硫椰,需要清除CMakeCache.txt文件
編譯安裝php后默認(rèn)沒有php.ini配置文件,需要手動創(chuàng)建
- 確認(rèn)當(dāng)前配置文件應(yīng)該在的位置萨蚕,在指定的安裝位置找到php靶草,執(zhí)行
./php -r 'phpinfo();' | grep "php.ini"
- 在源碼包中找到默認(rèn)的配置文件,應(yīng)該就在解壓的目錄下岳遥,有兩個php.ini-development和php.ini-production
- 復(fù)制默認(rèn)的配置文件到指定的路徑即可奕翔,注意修改名字為php.ini
無法啟動nginx
這個原因是已經(jīng)有一個nginx實例在監(jiān)聽指定端口,只需要把配置文件中的端口換一個就可以了