编译安装LNMP

版本说明

  • os:CentOS 6.8
  • php:5.5.38
  • nginx:1.10.3
  • mysql:5.6

安装步骤

环境准备

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 {
        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目录下创建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实例在监听指定端口,只需要把配置文件中的端口换一个就可以了

你可能感兴趣的:(编译安装LNMP)