CentOS6.632位Minimal版本纯编译安装NginxMysqlPHPMemcached


CentOS是红帽发行的免费的稳定Linux版本,在企业服务器应用中都会选用Minimal版本,因为Minimal是CentOS”最纯洁”的服务器系统,因为Minimal版本连vim编辑器都需要自己安装,Minimal组件最少,无桌面,扩展灵活,非常适合做服务器。

1.配置网卡

Minimal版本的CentOS被安装后,网卡驱动默认是down状态,需要手动激活,在连接好网线后需要执行命令:
[root@jhq0113 soft]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

然后按i进入编辑状态,进行如下修改:

这里写图片描述

修改完毕后,按ESC,然后shift+:,wq进行保存退出。

然后开始配置DNS服务器地址:

[root@jhq0113 soft]# vi /etc/resolv.conf

最主要的是配置nameserver属性,可以是自己的网关地址,如下图所示:

这里写图片描述

修改完毕后保存退出。键入以下命令激活网卡:

[root@jhq0113 soft]# ifconfig eth0 up

这里写图片描述

至此,网卡已经配置好了,如果仍然发现开机网卡未启动等问题,可以执行以下两条命令进行完善。

[root@jhq0113 soft]# chkconfig –add network
[root@jhq0113 soft]# chkconfig network on

重启网卡命令:
这里写图片描述

2.配置防火墙,开放22(SSH),3306(Mysql),80(Nginx),11211(Memcached),6379(Redis)端口
[root@jhq0113 soft]# vi /etc/sysconfig/iptables
修改为:

这里写图片描述

重启防火墙使配置生效:
[root@jhq0113 soft]# /etc/init.d/iptables restart

3.安装组件
更新系统:
[root@jhq0113 soft]# yum update
稍后键入y进行确认。

安装vim:
[root@jhq0113 soft]# yum install vim

安装编译工具及依赖:
[root@jhq0113 soft]# yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch

4.下载Cmake,Mysql,PHP,Nginx,libevent,libmcrypt,pcre,memcached
如果自己寻找这些很困难,推荐给大家几个很好的源地址:
阿里:http://mirrors.aliyun.com/
搜狐:http://mirrors.sohu.com/
网易:http://mirrors.163.com/

我的就是在搜狐下载的,版本如下:
这里写图片描述

5.系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字

源码放在/usr/local/src的实现方案有多种,可以在Windows下载,然后通过Xftp传送至指定目录,也可以cd到指定目录,wget 下载地址; 进行下载。

6.正式编译安装

安装Mysql:

Mysql需要Cmake进行编译安装,所以在安装Mysql前必须先安装Cmake

这里写图片描述
解压Cmake:
[root@jhq0113 src]# tar xzvf cmake-3.1.1.tar.gz

进入cmake解压后目录:
[root@jhq0113 src]# cd cmake-3.1.1

预编译,这个过程可能需要一段时间:
[root@jhq0113 cmake-3.1.1]# ./configure

编译并安装:
[root@jhq0113 cmake-3.1.1]# make && make install

添加mysql组
[root@jhq0113 cmake-3.1.1]# groupadd mysql

创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
[root@jhq0113 cmake-3.1.1]# useradd -g mysql mysql -s /bin/false

创建MySQL数据库存放目录
[root@jhq0113 cmake-3.1.1]# mkdir -p /data/mysql

设置MySQL数据库存放目录权限
[root@jhq0113 cmake-3.1.1]# chown -R mysql:mysql /data/mysql

创建MySQL安装目录
[root@jhq0113 cmake-3.1.1]# mkdir -p /usr/local/mysql

返回/usr/local/src目录:
[root@jhq0113 cmake-3.1.1]# cd /usr/local/src

解压mysql:
[root@jhq0113 src]# tar xzvf mysql-5.6.13.tar.gz

进入mysql解压目录:
[root@jhq0113 src]# cd mysql-5.6.13

用Cmake预编译Mysql,此过程可能需要一段时间:
[root@jhq0113 mysql-5.6.13]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/

编译:
[root@jhq0113 mysql-5.6.13]# make

安装:
[root@jhq0113 mysql-5.6.13]# make install

拷贝配置文件(如果/etc目录下面默认有一个my.cnf,直接覆盖即可):
[root@jhq0113 support-files]# cp /usr/local/mysql/support-files/my-default.cnf /etc/init.d/my.cnf

添加Mysql路径:
[root@jhq0113 support-files]# vim /etc/my.cnf

修改后:
这里写图片描述

生成Mysql系统数据库:
[root@jhq0113 support-files]# /usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql

把Mysql加入系统启动:
[root@jhq0113 support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

增加mysqld执行权限:
[root@jhq0113 support-files]# chmod 755 /etc/init.d/mysqld

mysqld加入开机启动:
[root@jhq0113 support-files]# chkconfig mysqld on

编辑配置文件:
[root@jhq0113 support-files]# vim /etc/init.d/mysqld

修改后:

这里写图片描述

把Mysql服务加入系统环境变量:
[root@jhq0113 support-files]# vim /etc/profile

修改后:
这里写图片描述

将myslq的库文件链接到系统默认的位置,以确保在编译类似PHP等软件时可以不用指定mysql的库文件地址。
[root@jhq0113 support-files]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@jhq0113 support-files]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

重启系统:
reboot

建立连接:
[root@jhq0113 ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

重启Mysqld:
[root@jhq0113 ~]# service mysqld restart

设置Mysql密码:
[root@jhq0113 support-files]# /usr/local/mysql/bin/mysql_secure_installation

修改root密码:
这里写图片描述

默认没有密码,直接回车,然后输入两次密码,一路按Y 回车下去

设置Mysql可以远程登录:
[root@jhq0113 ~]# mysql -uroot -p

输入密码登录,然后执行下面的语句,限制Mysql root用户可以在指定Ip地址下远程登录
mysql> grant all privileges on . to ‘root’192.168.1.*’%’ identified by ‘你的密码’;

更新权限:
mysql> flush privileges;

退出:
mysql> exit;

这样你的Mysql就可以在192.168.1.*内用Navicat进行远程登录了。

这里写图片描述

至此,Mysql安装完毕。

安装Nginx:
安装Nginx之前需要安装pcre,进入/usr/local/src目录,解压pcre,进入pcre解压目录,执行以下命令进行编译安装:
[root@jhq0113 pcre-8.35]# ./configure –prefix=/usr/local/pcre && make && make install

创建web组合web用户,不允许web用户直接登录系统:
[root@jhq0113 pcre-8.35]# groupadd web
[root@jhq0113 pcre-8.35]# useradd -g web web -s /bin/false

编译安装nginx,解压,进入安装目录,执行以下命令:
[root@jhq0113 nginx-1.7.0]# ./configure –prefix=/usr/local/nginx –without-http_memcached_module –user=web –group=web –with-http_stub_status_module –with-openssl=/usr/ –with-pcre=/usr/local/src/pcre-8.35
注意:–with-pcre=/usr/local/src/pcre-8.31指向的是源码包解压的路径,而不是安装的路径,否则会报错

编译安装:
[root@jhq0113 nginx-1.7.0]# make && make install

编辑Nginx启动命令:
[root@jhq0113 nginx-1.7.0]# vim /etc/init.d/nginx

加入下面内容:

!/bin/bash

nginx Startup script for the Nginx HTTP Server

it is v.0.0.2 version.

chkconfig: - 85 15

description: Nginx is a high-performance web and proxy server.

It has a lot of features, but it’s not for everyone.

processname: nginx

pidfile: /var/run/nginx.pid

config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx

nginx_config=/usr/local/nginx/conf/nginx.conf

nginx_pid=/usr/local/nginx/logs/nginx.pid

RETVAL=0

prog=”nginx”

Source function library.

. /etc/rc.d/init.d/functions

Source networking configuration.

. /etc/sysconfig/network

Check that networking is up.

[ ${NETWORKING} = “no” ] && exit 0

[ -x $nginxd ] || exit 0

Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

echo “nginx already running….”

exit 1

fi

echo -n "Startingprog: “

daemon nginxd?c{nginx_config}

RETVAL=$?

echo

[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

return $RETVAL

}

Stop nginx daemons functions.

stop() {

echo -n "Stoppingprog: “

killproc $nginxd

RETVAL=$?

echo

[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid

}

reload() {

echo -n "Reloadingprog: “

kill -HUP cat ${nginx_pid}

killproc $nginxd -HUP

RETVAL=$?

echo

}

See how we were called.

case “$1” in

start)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

stop

start

;;

status)

status $prog

RETVAL=$?

;;

*)

echo "Usage:prog {start|stop|restart|reload|status|help}”

exit 1

esac

exit $RETVAL

赋予nginx执行权限:
[root@jhq0113 nginx-1.7.0]# chmod 775 /etc/init.d/nginx

设置nginx开机启动:
[root@jhq0113 nginx-1.7.0]# chkconfig nginx on

启动nginx:
[root@jhq0113 nginx-1.7.0]# service nginx start

测试Nginx安装和启动状态:
这里写图片描述PHP后再做对PHP的支持和指定自定义发布目录设置。

创建web目录:
[root@jhq0113 nginx-1.7.0]# mkdir -p /home/data/web

未完待续!

相关内容