阿里云服务器centos 6.8编译安装nginx+mysql+php环境

前言:

阿里云服务器系统版本是centos 6.8, nginx-1.8.1, mysql-5.6.16, php-5.6.31

一.nginx

安装依赖包

yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel

下载nginx并编译

tar xvf nginx-1.8.1.tar.gzv
cd nginx-1.8.1.tar.gz
./configure  --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx
make
make install

nginx操作

启动: /usr/local/nginx/sbin/nginx
关闭: /usr/local/nginx/sbin/nginx -s stop
重启: /usr/local/nginx/sbin/nginx -s reload

nginx脚本

vim /etc/init.d/nginx

#!/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 +x /etc/init.d/nginx
开机启动:chkconfig nginx on

二. MySQL

安装依赖,部分在安装nginx的时候装过:

yum install gcc gcc-c++ ncurses-devel perl

安装cmake

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar xvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
make
make install

设置MySQL用户和组

groupadd mysql
useradd -r -g mysql mysql

建立安装目录以及数据库文件目录

mkdir -p /usr/local/mysql
mkdir -p /data/mysqldb

安装mysql

tar xvf mysql-5.6.16.tar.gz
cd mysql-5.6.16.tar.gz

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_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1m -DMYSQL_DATADIR=/data/mysqldb  -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

make
make install

修改目录权限

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

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

复制配置文件

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

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

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

vim /etc/profile

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

source /etc/profile

修改配置文件

vim /etc/my.cnf
datadir = /data/mysqldb

开启mysql并加入开机启动项

service mysqld start
chkconfig mysqld on

运行安全脚本
/usr/local/mysql/bin/mysql_secure_installation

三. PHP

1.安装依赖, 部分已装过

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel

安装加密扩展库, 下载 libmcrypt-2.5.8.tar.gz(http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/)

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install

编译php, 下载php-5.6.31.tar.gz(http://cn2.php.net/downloads.php)

tar zxvf php-5.6.31.tar.gz
cd php-5.6.31
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-mysql-sock --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-fpm --with-ncurses --enable-soap --with-libxml-dir --with-XMLrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir  --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --disable-mbregex --disable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-pdo-mysql --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sqlite-utf8 --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir  --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear
make
make install

复制php配置文件
cp php.ini-development /usr/local/php/lib/php.in

修改php.ini

timezone = "Asia/Shanghai"
short_open_tag = On
session.save_path = "/tmp/session"

复制php-fpm配置
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

修改php-fpm中的用户组与nginx相同

复制php-fpm启动脚本到service
cp php-5.6.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

开启php-fpm并加入开机启动项

service php-fpm start
chkconfig php-fpm on

四.配置nginx支持php

cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.confbak
vi /usr/local/nginx/conf/nginx.conf

1.打开server中php的注释
2.index后添加index.php
3.修改成fastcgi_param一行为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

五. 测试

vi /usr/local/nginx/html/index.php

浏览器输入 localhost/index.php

你可能感兴趣的:(阿里云服务器centos 6.8编译安装nginx+mysql+php环境)