LNMP平台搭建-Centos6.x

LNMP平台搭建-Centos6.x

0、准备工作:

  • 操作系统:Centos 6.x
  • 关闭selinux和iptables
  • 准备好网络yum源
#关闭iptables
[root@localhost ~]# service iptables stop
[root@localhost ~]# chkconfig iptables off
#检查selinux
[root@localhost ~]# getenforce 
Disabled
#准备光盘源
[root@localhost ~]# vim /etc/yum.repos.d/local.repo 
[local]
name=local_repo
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
#挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only

2、配置网络yum源

  • 清除–>/etc/yum.repos.d/的源
  • 官方的网站:
  • epel拓展网站:

3、安装编译工具和依赖的软件包

[root@localhost ~]# yum -y install gcc gcc-c++ pcre-devel openssl pcre openssl-devel zlib zlib-devel cmake bison libxml2 libxml2-devel libpng-devel  ncurses-devel

4。准备好nginx、mysql和php软件的源码包

要求:

  • nginx:1.12.*–>选用稳定版本就可以
  • mysql:5.5.*—>这次使用5.5的版本,小版本可以忽略
  • php:5.6.*—->这次使用php5

注意:每次安装 LNMP 时,软件包的小版本都不一样,官方会对其大版本下的小版本进行覆盖式更新

#准备好源码包
[root@localhost lnmp]# ls
mysql-5.5.60.tar.gz  nginx-1.16.1.tar.gz  php-7.0.7.tar.gz
	#然后解压各自的源码包
[root@localhost lnmp]# tar -xf mysql-5.5.60.tar.gz 
[root@localhost lnmp]# tar -xf nginx-1.16.1.tar.gz 
[root@localhost lnmp]# tar -xf php-7.0.7.tar.gz 
[root@localhost lnmp]# 

安装nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。

#首先创建nginx用户
[root@localhost lnmp]# useradd -r -s /sbin/nologin nginx
	#进入到nginx
[root@localhost nginx-1.16.1]# cd nginx-1.16.1
	#编译安装
[root@localhost nginx-1.16.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
[root@localhost nginx-1.16.1]# make && make install
#nginx的启动脚本
#################################Nginx 启动管理脚本##################################
#!/bin/bash
#Author:liu
#chkconfig: 2345 99 33
#description: nginx server control tools
ngxc="/usr/local/nginx/sbin/nginx"
pidf="usr/local/nginx/logs/nginx.pid"
ngxc_fpm="/usr/local/php/sbin/php-fpm"
pidf_fpm="/usr/local/php/var/run/php-fpm.pid"
case "$1" in
	start)
 		$ngxc -t &> /dev/null
 		if [ $? -eq 0 ];then
 			$ngxc
 			$ngxc_fpm
 			echo "nginx service start success!"
 		else
 			$ngxc -t
 		fi
 	;;
 	stop)
 		kill -s QUIT $(cat $pidf)
 		kill -s QUIT $(cat $pidf_fpm)
 			echo "nginx service stop success!"
 	;;
 	restart)
 		$0 stop
 		$0 start
 	;;
 	reload)
 		$ngxc -t &> /dev/null
 		if [ $? -eq 0 ];then
 			kill -s HUP $(cat $pidf)
 			kill -s HUP $(cat $pidf_fpm)
 			echo "reload nginx config success!"
 		else
 			$ngxc -t
 		fi
 	;;
 	*)
 		echo "please input stop|start|restart|reload."
 		exit 1
esac

安装mysql

实验中使用的是mysql5.5

#进入到安装的目录
[root@localhost lnmp]# cd mysql-5.5.60
[root@localhost mysql-5.5.60]# 

#添加mysql账户
[root@localhost mysql-5.5.60]# useradd -r -s /sbin/nologin mysql

#编译安装mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306

[root@localhost mysql-5.5.60]# make && make install
	#做一个软连接方便启动
[root@localhost lnmp]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@localhost lnmp]# 

#生成mysql的配置文件
[root@localhost mysql-5.5.60]# cp support-files/my-medium.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
[root@localhost mysql-5.5.60]# 

#初始化,生成授权表
	#一定要先切换到此目录下,然后再执行下一步。
[root@localhost mysql-5.5.60]# cd /usr/local/mysql/
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
	#初始化成功标志:两个 ok

#生成mysql的启动和自启动管理脚本
[root@localhost mysql]# cp -a /lnmp/mysql-5.5.60/support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/init.d/mysqld 
[root@localhost mysql]# 
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig mysqld on


#设置mysql的密码
[root@localhost ~]# mysqladmin -uroot password 123456

安装php

[root@localhost lnmp]# cd php-7.0.7
[root@localhost php-7.0.7]# 
#编译安装
[root@localhost php-7.0.7]# 
./configure --prefix=/usr/local/php/ \
--with-config-file-path=/usr/local/php/etc/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring=all \
--enable-sockets \
--with-pdo-mysql=/usr/local/mysql \
--with-gd \
--without-pear \
--enable-fpm
[root@localhost php-7.0.7]# make && make install

#生成php的配置文件
	#复制源码包内的配置文件到安装目录下,并改名即可
[root@localhost php-7.0.7]# cp -a php.ini-production  /usr/local/php/etc/php.ini

#做好软连接
[root@localhost php-7.0.7]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@localhost php-7.0.7]# ln -s /usr/local/php/sbin/* /usr/local/bin/

配置nginx连接php

#nginx需要连接php需要启动php-fpm服务
	#进入到目录当中--->准备一份配置文件
[root@localhost php-7.0.7]# cd /usr/local/php/etc/
[root@localhost etc]# cp -a php-fpm.conf.default  php-fpm.conf
	#修改指定的内容
[root@localhost etc]# vim php-fpm.conf
...........
 17 pid = run/php-fpm.pid
	#以下全全部添加-->版本不同可能显示的也不同
 18 user = nginx
 19 group = nginx
 20 pm.start_servers = 2
 21 pm.min_spare_servers = 1
 22 pm.max_spare_servers = 3
..............


#然后修改nginx的配置文件,使其识别.php后缀的文件
[root@localhost etc]# cp /usr/local/nginx/conf/nginx.conf{,.bak}
[root@localhost etc]# vim  /usr/local/nginx/conf/nginx.conf
..............
	#这里添加一个index.php
 43         location / {
 44             root   html;
 45             index  index.php index.html index.htm;
 46         }
 47 
....................
	#取消下列行的注释,并修改 include 选项的后缀为 fastcgi.conf,并注意每一行结尾的分号和大括号
 65         location ~ \.php$ {
 66             root           html;
 67             fastcgi_pass   127.0.0.1:9000;
 68             fastcgi_index  index.php;
 69             fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 70             include        fastcgi.conf;
 71         }


#然后创建一个php页面
[root@localhost etc]# vim /usr/local/nginx/html/a.php
<?php
        phpinfo();

	#把命令做个软连接
[root@localhost etc]# ln -s /usr/local/nginx/sbin/* /usr/local/bin/

#重启nginx
[root@localhost etc]# nginx 

你可能感兴趣的:(Linux-服务管理,服务器,linux)