分步骤安装lnmp完整版

安装mysql

安装准备

添加用户
useradd -s /sbin/nologin mysql

建立所需目录
mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql/data

下载源码包

wget  https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz

解压

tar -zxvf mysql-5.6.37.tar.gz 

cd mysql-5.6.37

cmake -DMYSQL_USER=mysql -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1


参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安装blackhole存储引擎
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8   //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all   //安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名
其他参数:
-DWITH-EMBEDDED_SERVER=1 //编译成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配辑文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路径
-DWITH_READLINE=1 //快捷键功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安装frderated存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安装数据库分区
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路径


make && make install

chown -R mysql:mysql /usr/local/mysql

mv /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

mv /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld

chmod a+x /etc/init.d/mysqld

开机启动

chkconfig --level 345 mysqld on


设置环境变量

echo "export PATH=/usr/local/mysql/bin/:$PATH">> /etc/profile

source /etc/profile

/usr/local/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 

vim /etc/my.cnf

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

wq!

mysql安装完毕,可以service mysqld restart 重启mysql 再 ps aux | grep mysqld 查看mysql进程  

mysql  -uroot -p  默认没有密码



安装nginx

下载文件: http://pan.baidu.com/s/1c19RShM

1 确定初始化环境  

   为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装,

yum -y install gcc gcc-c++ autoconf 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 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

安装nginx需要的库文件

yum -y install pcre-devel zlib-devel

PHP依赖的库文件

yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel

        

2创建文件夹,存放lnmp需要的依赖库文件 我这里创建的是data

3安装库文件

tar zxvf libiconv-1.14.tar.gz  

cd libiconv-1.14  

./configure --prefix=/usr/local 

make && make install 

tar zxvf libmcrypt-2.5.8.tar.gz  

cd libmcrypt-2.5.8

 ./configure  

make && make install

/sbin/ldconfig 

cd libltdl 

./configure --enable-ltdl-install

make && make install 


tar zxvf mhash-0.9.9.9.tar.gz  

cd mhash-0.9.9.9/  

./configure 

make && make install 


tar zxvf mhash-0.9.9.9.tar.gz  

cd mhash-0.9.9.9/  

./configure 

make && make install 


创建软连接

ln -s /usr/local/lib/libmcrypt.la/usr/lib/libmcrypt.la 

ln -s /usr/local/lib/libmcrypt.so/usr/lib/libmcrypt.so 

ln -s /usr/local/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4 

ln -s /usr/local/lib/libmcrypt.so.4.4.8/usr/lib/libmcrypt.so.4.4.8 

ln -s /usr/local/lib/libmhash.a/usr/lib/libmhash.a 

ln -s /usr/local/lib/libmhash.la/usr/lib/libmhash.la 

ln -s /usr/local/lib/libmhash.so/usr/lib/libmhash.so 

ln -s /usr/local/lib/libmhash.so.2/usr/lib/libmhash.so.2 

ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 

ln -s /usr/local/bin/libmcrypt-config/usr/bin/libmcrypt-config 


tar -zxvf mcrypt-2.6.8.tar.gz  

cd mcrypt-2.6.8/  

/sbin/ldconfig 

./configure 

make && make install 

 

建立php安装目录

mkdir -p /usr/local/php

tar axvf  php-5.6.31.tar.gz 

cd  php-5.6.31

export LIBS="-lm -ltermcap -lresolv"
export DYLD_LIBRARY_PATH="/usr/local/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"
export LD_LIBRARY_PATH="/usr/local/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"


./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-iconv-dir=/usr/local/ --with-freetype-dir --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-jpeg-dir --with-png-dir --with-zlib --with-mhash --enable-sockets --enable-ftp --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --with-gd  --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --enable-fpm --with-xmlrpc --enable-zip --enable-soap --without-pear

编译出现 configure: error: Cannot find ldap libraries in /usr/lib. 错误

执行 cp -frp /usr/lib64/libldap* /usr/lib/

出现 make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1 表示内存不足1 G

在 上面编译命令后 加 --disable-fileinfo  再执行编译命令

make ZEND_EXTRA_LIBS='-liconv' 


make install 

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


将php-fpm 作为服务运行

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

cd /usr/local/php/etc

mv php-fpm.conf.default  php-fpm.conf

chmod 755 /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig --level 345 php-fpm on

服务方式启动php-fpm

service php-fpm start


启动失败,Starting php-fpm /usr/local/php/sbin/php-fpm: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
 failed

64位执行 ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/

32位执行 ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib/

再次启动 启动成功


安装nginx:


useradd www

安装pcre

tar zxvf pcre-8.32.tar.gz

cd pcre-8.32/

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

make && make install

安装nginx

tar zxvf nginx-1.0.15.tar.gz

cd nginx-1.0.15/

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

make && make install

nginx 加入环境变量

	
  
  
	vi /etc/profile
在末尾加上:
	#nginx configure
	export NGINX_HOME=/usr/local/nginx
	export PATH=$PATH:$NGINX_HOME/sbin

保存退出 执行:source /etc/profile 使配置生效
	nginx -v
  
  
	nginx version: nginx/1.10.2
执行成功

将nginx 加入系统服务
 	vim /etc/init.d/nignx 
加入
	#!/bin/sh 
# 
# nginx - this script starts and stops the nginx daemon 
# 
# chkconfig:   - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
#               proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config:      /etc/nginx/nginx.conf 
# config:      /etc/sysconfig/nginx 
# pidfile:     /var/run/nginx.pid 


# Source function library. 
. /etc/rc.d/init.d/functions 


# Source networking configuration. 
. /etc/sysconfig/network 


# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 


nginx="/usr/local/nginx/sbin/nginx" 
prog=$(basename $nginx) 


NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 


[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 


lockfile=/var/lock/subsys/nginx 


start() { 
    [ -x $nginx ] || exit 5 
    [ -f $NGINX_CONF_FILE ] || exit 6 
    echo -n $"Starting $prog: " 
    daemon $nginx -c $NGINX_CONF_FILE 
    retval=$? 
    echo 
    [ $retval -eq 0 ] && touch $lockfile 
    return $retval 
} 


stop() { 
    echo -n $"Stopping $prog: " 
    killproc $prog -QUIT 
    retval=$? 
    echo 
    [ $retval -eq 0 ] && rm -f $lockfile 
    return $retval 
killall -9 nginx 
} 


restart() { 
    configtest || return $? 
    stop 
    sleep 1 
    start 
} 


reload() { 
    configtest || return $? 
    echo -n $"Reloading $prog: " 
    killproc $nginx -HUP 
RETVAL=$? 
    echo 
} 


force_reload() { 
    restart 
} 


configtest() { 
$nginx -t -c $NGINX_CONF_FILE 
} 


rh_status() { 
    status $prog 
} 


rh_status_q() { 
    rh_status >/dev/null 2>&1 
} 


case "$1" in 
    start) 
        rh_status_q && exit 0 
    $1 
        ;; 
    stop) 
        rh_status_q || exit 0 
        $1 
        ;; 
    restart|configtest) 
        $1 
        ;; 
    reload) 
        rh_status_q || exit 7 
        $1 
        ;; 
    force-reload) 
        force_reload 
        ;; 
    status) 
        rh_status 
        ;; 
    condrestart|try-restart) 
        rh_status_q || exit 0 
            ;; 
    *)    
      echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
        exit 2 
esac  
执行:
	chmod 755 /etc/init.d/nginx
	chkconfig --add nginx

nginx启动、停止、无间断服务重启

service nginx start
service nginx stop
service nginx reload












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值