版本说明
PHP:5.5.38
NGINX:1.10.3
MYSQL:5.6
OS:CentOS 6.8
安装步骤
环境准备
lnmp整体环境安装至/usr/local/lnmp目录下
# 创建目录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# 配置编译选项(这里默认编译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参数为编译时的参数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
# 拷贝一份默认的配置文件cp/usr/local/lnmp/php5.5.38/etc/php-fpm.conf.default/usr/local/lnmp/php5.5.38/etc/php-fpm.conf# 修改配置文件(直接修改全区段,配置监听端口为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{listen8999;server_namelnmp.com;#charset koi8-r;#access_log logs/host.access.log main;location/ {roothtml;indexindex.php index.html index.htm; }#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page500502503504/50x.html;location= /50x.html {roothtml; }# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location~ \.php${roothtml;fastcgi_pass127.0.0.1:9999;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;includefastcgi_params; }# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}
在指定的root目录下创建index.php文件(这里使用默认的html目录)
echo"/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
关闭:kill -QUIT
fpm基本操作
启动:php-fpm -c php.ini文件路径 -y php-fpm.conf文件路径
重启:kill -USR2
关闭:kill -INT
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安装缺少的依赖库即可,只不过注意安装的包应该是开发包(*-devel)
mysql5.5起开始使用cmake
mysql cmake 配置:http://laowafang.blog.51cto.com/251518/1294964/
注意,如果重新运行cmake,需要清除CMakeCache.txt文件
编译安装php后默认没有php.ini配置文件,需要手动创建
确认当前配置文件应该在的位置,在指定的安装位置找到php,执行./php -r 'phpinfo();' | grep "php.ini"
在源码包中找到默认的配置文件,应该就在解压的目录下,有两个php.ini-development和php.ini-production
复制默认的配置文件到指定的路径即可,注意修改名字为php.ini
无法启动nginx
这个原因是已经有一个nginx实例在监听指定端口,只需要把配置文件中的端口换一个就可以了
作者:wangtingkui
链接:http://www.jianshu.com/p/cb415eed9c10
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。