lnmp源码安装

LNMP编译安装教程

本文为漂亮的笨笨所著 2018-08-08 张存书

一、安装nginx1.8.1

准备工作,安装依赖库

 

yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel wget vim lrzsz

 

1、下载nginx(stable版本)

wget -P /usr/local/src http://nginx.org/download/nginx-1.8.1.tar.gz

 

-P指定下载文件目录
或者

cd /usr/local/src

wget http://nginx.org/download/nginx-1.8.1.tar.gz

默认下载到当前目录下

2、解压nginx

tar xf nginx-1.8.1.tar.gz

cd nginx-1.8.1

3、编译nginx
如果指定用户和用户组,需要先创建

//创建用户www和用户组www

groupadd www

useradd -g www www

./configure --prefix=/usr/local/nginx  --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module

    make && make install

    //启动nginx

 

    **第一种方式 指定--sbin-path=/usr/sbin/nginx**

    nginx //启动

    nginx -s stop// 停止

    nginx -s reload // 重新加载

 

    **第二种方式 不指定--sbin-path**

    cd /usr/local/nginx

    ./sbin/nginx

    重启nginx  /usr/local/nginx/sbin/nginx -s reload

 

    **第三种方式**

     配置开机启动

    首先写一个shell脚本,脚本名称:nginx

    vi /etc/rc.d/init.d/nginx

 

    #! /bin/bash

    # chkconfig: 35 85 15 

    # description: Nginx is an HTTP(S) server, HTTP(S) reverse

    set -e

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

    DESC="nginx daemon"

    NAME=nginx

    DAEMON=/usr/local/nginx/sbin/$NAME (这里是nginx安装是 --sbin-path指定的路径)

    SCRIPTNAME=/etc/init.d/$NAME

    test -x $DAEMON || exit 0

    d_start(){

        $DAEMON || echo -n " already running"

    }

    d_stop() {

        $DAEMON -s quit || echo -n " not running"

    }

    d_reload() {

        $DAEMON -s reload || echo -n " counld not reload"

    }

    case "$1" in

    start)

        echo -n "Starting $DESC:$NAME"

        d_start

        echo "."

    ;;

    stop)

        echo -n "Stopping $DESC:$NAME"

        d_stop

        echo "."

    ;;

    reload)

        echo -n "Reloading $DESC configuration..."

        d_reload

        echo "reloaded."

    ;;

    restart)

        echo -n "Restarting $DESC: $NAME"

        d_stop

        sleep 2

        d_start

        echo "."

    ;;

    *)

        echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2

        exit 3

    ;;

    esac

    exit 0

 

    //将shell脚本放入到 /etc/rc.d/init.d/中,并执行下列命令

 

    chmod +x /etc/rc.d/init.d/nginx (设置可执行权限)

    chkconfig --add nginx (添加系统服务)

 

    service nginx start

    service nginx stop

    service nginx restart

    service nginx reload

 

    浏览器访问:http://localhost如能出现nginx页面则表示成功

 

    // 查看nginx进程

    ps -ef | grep nginx

    // 查看进程个数 去掉首位的

    ps -ef | grep nginx | wc -l

 

    // 查看80端口

    netstat -anpt

useradd -M -s /sbin/nologin www

#修改nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

把#user nobody 改成 user www;

#测试一下nginx配置文件

/usr/local/nginx/sbin/nginx -t

#启动nginx

/usr/local/nginx/sbin/nginx

#一般来说在nginx的配置文件修改后进行如下操作,

/usr/local/nginx/sbin/nginx -t检测一下配置文件是否正确,如果正确的话

再使用/usr/local/nginx/sbin/nginx -s reload 使nginx平滑启动

二、安装mysql5.6.30

①下载 MySQL
cd /usr/local/src

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz

②安装编译源码所需的工具和库
如果缺少cmake库

yum install cmake

(可以从http://www.cmake.org下载源码并编译安装) (安装包安装cmake)
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -xzvf cmake-2.8.10.2.tar.gz
./bootstrap make make
install

③设置MySQL用户和组

新增mysql用户组 新增mysql用户

groupadd mysql
useradd -r -g mysql mysql

④ 新建MySQL所需要的目录

新建mysql安装目录 新建mysql数据库数据文件目录
mkdir -p /usr/local/mysql

 mkdir -p /data/mysqldb

⑤ MySQL源码包解压

cd /usr/local/src
tar zxvf mysql-5.6.30.tar.gz
cd mysql-5.6.30

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1

(注:重新运行配置,需要删除CMakeCache.txt文件 rm CMakeCache.txt ) make && make install

⑥ 修改mysql目录所有者和组

修改mysql安装目录 cd /usr/local/mysql chown -R mysql:mysql .
修改mysql数据库文件目录 cd /data/mysqldb chown -R mysql:mysql .(注意后面的.指的是当前目录)

7初始化mysql数据库

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

⑧ 复制mysql服务启动配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
(注:如果/etc/my.cnf文件存在,则覆盖。)

⑨ 复制mysql服务启动脚本及加入PATH路径

cp support-files/mysql.server /etc/init.d/mysqld

⑩ 启动mysql服务并加入开机自启动

service mysqld start
chkconfig –level 35 mysqld on

⑪ 检查mysql服务是否启动

netstat -tulnp | grep 3306
需要把mysql加入环境变量 vim /etc/profile
在最后加入如下命令
MYSQL_HOME=/usr/local/mysql
PATH=$MYSQL_HOME/bin:$PATH
export PATH MYSQL_HOME
source /etc/profile
mysql -u root -p (密码为空,如果能登陆上,则安装成功)

⑫ 修改MySQL用户root的密码

方法一:mysql -u root -p
use mysql
update user set password=password(‘123456’) where user=’root’
flush privileges(刷新权限)
方法二:/usr/local/mysql/bin/mysql_secure_installation
(修改MySQL用户root的密码,同时可禁止root远程连接,移除test数据库和匿名用户。)

方法三:mysqladmin -uroot password '123456’

三、安装PHP依赖关系:

1.安装libiconv

cd /usr/local/src

wget http://blog.zyan.cc/soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gz

 

tar zxvf libiconv-1.13.1.tar.gz

cd libiconv-1.13.1

./configure --prefix=/usr/local/libiconv

make && make install

cd ..

2.安装libmcrypt

wget http://blog.zyan.cc/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make && make install

cd ..

3.安装 Mhash

wget http://blog.zyan.cc/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz

 

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./configure

make && make install

cd ..

4.安装Mcrypt

wget http://blog.zyan.cc/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8

#注意一下这步运行下,不然下面可能报错

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

./configure

make && make install

cd ..

编译mcrypt可能会报错:configure: error: *** libmcrypt was not found

vi  /etc/ld.so.conf

最后一行添加

/usr/local/lib/

保存并退出::wq!

执行载入命令:

ldconfig

 

四、安装php 5.6.6

1.下载安装包及编译安装

wget http://cn2.php.net/get/php-5.6.3.tar.gz/from/this/mirror

tar -zxvf php-5.6.3.tar.gz

cd php-5.6.3

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts 

make && make install

 

2.修改fpm配置php-fpm.conf.default文件名称

mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

3.复制php.ini配置文件

cp php.ini-production /usr/local/php/etc/php.ini

4.复制php-fpm启动脚本到init.d

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

5.赋予执行权限

chmod +x /etc/init.d/php-fpm

6.添加为启动项

chkconfig --add php-fpm

7.设置开机启动

chkconfig php-fpm on

8.按照标准,给php-fpm创建一个指定的用户和组

创建群组:groupadd www

创建一个用户,不允许登陆和不创主目录 :useradd -s /sbin/nologin -g www -M www

9.立即启动php-fpm

service php-fpm start

#或者

/etc/init.d/php-fpm start

10.修改nginx配置文件使之支持php

vim /usr/local/nginx/conf/nginx.conf

找到下面的这段,把其

#location ~ \.php$ {

#    root           html;

#    fastcgi_pass   127.0.0.1:9000;

#    fastcgi_index  index.php;

#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

#    include        fastcgi_params;

#}

修改为

location ~ \.php$ {

    fastcgi_pass   127.0.0.1:9000;

    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

    include        fastcgi_params;

}

修改完配置之后

测试一下是否有错:/usr/local/nginx/sbin/nginx -t

平滑重启:/usr/local/nginx/sbin/nginx -s reload

 

五、测试phpnginxmysql

1.进入nginx的服务器目录,这一步是在nginx.conf里的root中配置的,可以自行修改。

cd /usr/local/nginx/html

2.新建一个php文件:vim l.php

其内容为<?php phpinfo();?>

保存并退出::wq! 注:字母w前要有一个冒号

然后运行:

http://127.0.0.1/l.php(这里把IP换成你自己的服务器的IP)

 

 出现上面的图就说明PHP和NGINX安装成功了。

3.测试mysql

打开刚才新建的那个文件:

vim l.php,输入第三行-第10行代码,代码是测试php是否可以联接mysql。

 

保存并退出::wq! 注:字母w前要有一个冒号

然后运行:

http://127.0.0.1/l.php(这里把IP换成你自己的服务器的IP)

 

 

这里说明php可以联接mysql了。

到这里以编译的形式安装LNMP就完成了。如果由于项目的要求还需要php或是nginx一些其它的扩展,再重新编译一下php或是nginx就可以了

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_41781322/article/details/81509904