共计 13718 个字符,预计需要花费 35 分钟才能阅读完成。
CentOS6.6 32 位 Minimal 版本纯编译安装 Nginx+MySQL+PHP+Memcached
CentOS 是红帽发行的免费的稳定 Linux 版本,在企业服务器应用中都会选用 Minimal 版本,因为 Minimal 是 CentOS”最纯洁”的服务器系统,因为 Minimal 版本连 vim 编辑器都需要自己安装,Minimal 组件最少,无桌面,扩展灵活,非常适合做服务器。
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
1. 配置网卡
Minimal 版本的 CentOS 被安装后,网卡驱动默认是 down 状态,需要手动激活,在连接好网线后需要执行命令:
[root@linuxidc soft]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
然后按 i 进入编辑状态,进行如下修改:
修改完毕后,按 ESC,然后 shift+:,wq 进行保存退出。
然后开始配置 DNS 服务器地址:
[root@linuxidc soft]# vi /etc/resolv.conf
最主要的是配置 nameserver 属性,可以是自己的网关地址,如下图所示:
修改完毕后保存退出。键入以下命令激活网卡:
[root@linuxidc soft]# ifconfig eth0 up
至此,网卡已经配置好了,如果仍然发现开机网卡未启动等问题,可以执行以下两条命令进行完善。
[root@linuxidc soft]# chkconfig –add network
[root@linuxidc soft]# chkconfig network on
重启网卡命令:
2. 配置防火墙,开放 22(SSH),3306(Mysql),80(Nginx),11211(Memcached),6379(Redis) 端口
[root@linuxidc soft]# vi /etc/sysconfig/iptables
修改为:
重启防火墙使配置生效:
[root@linuxidc soft]# /etc/init.d/iptables restart
3. 安装组件
更新系统:
[root@linuxidc soft]# yum update
稍后键入 y 进行确认。
安装 vim:
[root@linuxidc soft]# yum install vim
安装编译工具及依赖:
[root@linuxidc 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 下载地址; 进行下载。
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2015-02/113422p2.htm
6. 正式编译安装
安装 MySQL:
Mysql 需要 Cmake 进行编译安装,所以在安装 Mysql 前必须先安装 Cmake
解压 Cmake:
[root@linuxidc src]# tar xzvf cmake-3.1.1.tar.gz
进入 cmake 解压后目录:
[root@linuxidc src]# cd cmake-3.1.1
预编译,这个过程可能需要一段时间:
[root@linuxidc cmake-3.1.1]# ./configure
编译并安装:
[root@linuxidc cmake-3.1.1]# make && make install
添加 mysql 组
[root@linuxidc cmake-3.1.1]# groupadd mysql
创建用户 mysql 并加入到 mysql 组,不允许 mysql 用户直接登录系统
[root@linuxidc cmake-3.1.1]# useradd -g mysql mysql -s /bin/false
创建 MySQL 数据库存放目录
[root@linuxidc cmake-3.1.1]# mkdir -p /data/mysql
设置 MySQL 数据库存放目录权限
[root@linuxidc cmake-3.1.1]# chown -R mysql:mysql /data/mysql
创建 MySQL 安装目录
[root@linuxidc cmake-3.1.1]# mkdir -p /usr/local/mysql
返回 /usr/local/src 目录:
[root@linuxidc cmake-3.1.1]# cd /usr/local/src
解压 mysql:
[root@linuxidc src]# tar xzvf mysql-5.6.13.tar.gz
进入 mysql 解压目录:
[root@linuxidc src]# cd mysql-5.6.13
用 Cmake 预编译 Mysql, 此过程可能需要一段时间:
[root@linuxidc mysql-5.6.13]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/
编译:
[root@linuxidc mysql-5.6.13]# make
安装:
[root@linuxidc mysql-5.6.13]# make install
拷贝配置文件(如果 /etc 目录下面默认有一个 my.cnf,直接覆盖即可):
[root@linuxidc support-files]# cp /usr/local/mysql/support-files/my-default.cnf /etc/init.d/my.cnf
添加 Mysql 路径:
[root@linuxidc support-files]# vim /etc/my.cnf
修改后:
生成 Mysql 系统数据库:
[root@linuxidc support-files]# /usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql
把 Mysql 加入系统启动:
[root@linuxidc support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
增加 mysqld 执行权限:
[root@linuxidc support-files]# chmod 755 /etc/init.d/mysqld
mysqld 加入开机启动:
[root@linuxidc support-files]# chkconfig mysqld on
编辑配置文件:
[root@linuxidc support-files]# vim /etc/init.d/mysqld
修改后:
把 Mysql 服务加入系统环境变量:
[root@linuxidc support-files]# vim /etc/profile
修改后:
将 myslq 的库文件链接到系统默认的位置,以确保在编译类似 PHP 等软件时可以不用指定 mysql 的库文件地址。
[root@linuxidc support-files]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@linuxidc support-files]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
重启系统:
reboot
建立连接:
[root@linuxidc ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
重启 Mysqld:
[root@linuxidc ~]# service mysqld restart
设置 Mysql 密码:
[root@linuxidc support-files]# /usr/local/mysql/bin/mysql_secure_installation
修改 root 密码:
默认没有密码,直接回车,然后输入两次密码,一路按 Y 回车下去
设置 Mysql 可以远程登录:
[root@linuxidc ~]# 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 安装完毕。
CentOS6.6 32 位 Minimal 版本纯编译安装 Nginx+MySQL+PHP+Memcached
CentOS 是红帽发行的免费的稳定 Linux 版本,在企业服务器应用中都会选用 Minimal 版本,因为 Minimal 是 CentOS”最纯洁”的服务器系统,因为 Minimal 版本连 vim 编辑器都需要自己安装,Minimal 组件最少,无桌面,扩展灵活,非常适合做服务器。
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
1. 配置网卡
Minimal 版本的 CentOS 被安装后,网卡驱动默认是 down 状态,需要手动激活,在连接好网线后需要执行命令:
[root@linuxidc soft]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
然后按 i 进入编辑状态,进行如下修改:
修改完毕后,按 ESC,然后 shift+:,wq 进行保存退出。
然后开始配置 DNS 服务器地址:
[root@linuxidc soft]# vi /etc/resolv.conf
最主要的是配置 nameserver 属性,可以是自己的网关地址,如下图所示:
修改完毕后保存退出。键入以下命令激活网卡:
[root@linuxidc soft]# ifconfig eth0 up
至此,网卡已经配置好了,如果仍然发现开机网卡未启动等问题,可以执行以下两条命令进行完善。
[root@linuxidc soft]# chkconfig –add network
[root@linuxidc soft]# chkconfig network on
重启网卡命令:
2. 配置防火墙,开放 22(SSH),3306(Mysql),80(Nginx),11211(Memcached),6379(Redis) 端口
[root@linuxidc soft]# vi /etc/sysconfig/iptables
修改为:
重启防火墙使配置生效:
[root@linuxidc soft]# /etc/init.d/iptables restart
3. 安装组件
更新系统:
[root@linuxidc soft]# yum update
稍后键入 y 进行确认。
安装 vim:
[root@linuxidc soft]# yum install vim
安装编译工具及依赖:
[root@linuxidc 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 下载地址; 进行下载。
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2015-02/113422p2.htm
安装 Nginx:
安装 Nginx 之前需要安装 pcre,进入 /usr/local/src 目录,解压 pcre,进入 pcre 解压目录,执行以下命令进行编译安装:
[root@linuxidc pcre-8.35]# ./configure –prefix=/usr/local/pcre && make && make install
创建 web 组合 web 用户,不允许 web 用户直接登录系统:
[root@linuxidc pcre-8.35]# groupadd web
[root@linuxidc pcre-8.35]# useradd -g web web -s /bin/false
编译安装 nginx, 解压,进入安装目录,执行以下命令:
[root@linuxidc 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@linuxidc nginx-1.7.0]# make && make install
编辑 Nginx 启动命令:
[root@linuxidc 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 “Starting prog:“
daemon nginxd−c {nginx_config}
RETVAL=$?
echo
[$RETVAL = 0] && touch /var/lock/subsys/nginx
return $RETVAL
}
Stop nginx daemons functions.
stop() {
echo -n “Stopping prog:“
killproc $nginxd
RETVAL=$?
echo
[$RETVAL = 0] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n “Reloading prog:“
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@linuxidc nginx-1.7.0]# chmod 775 /etc/init.d/nginx
设置 nginx 开机启动:
[root@linuxidc nginx-1.7.0]# chkconfig nginx on
启动 nginx:
[root@linuxidc nginx-1.7.0]# service nginx start
测试 Nginx 安装和启动状态:
至此,Nginx 安装完毕,待安装好 PHP 后再做对 PHP 的支持和指定自定义发布目录设置。
创建 web 目录:
[root@linuxidc nginx-1.7.0]# mkdir -p /home/data/web
安装 PHP
安装 PHP 之前需要安装 libmcrypt:
将 libmcrypt 解压, 进入解压目录, 执行以下命令:
[root@linuxidc libmcrypt-2.5.8]# ./configure && make && make install
安装 wget 组件:
[root@linuxidc src]# yum install wget
进入 /usr/local/src/ 目录下载 mhash:
[root@linuxidc src]# wget http://soft.7dot.com/soft/mhash-0.9.9.9.tar.gz
下载完毕,解压安装:
[root@linuxidc mhash-0.9.9.9]# ./configure && make && make install
进入 /usr/local/src/ 目录,下载 mcrypt:
[root@linuxidc src]# wget http://110.96.192.10:81/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/soft.7dot.com/soft/mcrypt-2.6.8.tar.gz
解压后,进入解压目录,执行以下命令:
[root@linuxidc mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
编译安装:
[root@linuxidc mcrypt-2.6.8]# ./configure && make && make install
等待安装完成,解压 php:
[root@linuxidc src]# tar jvxf php-5.6.5.tar.bz2
安装 freetype:
[root@linuxidc php-5.6.5]# yum install freetype-devel
Php5.5 以上需要安装开发工具:
[root@linuxidc php-5.6.5]# yum groupinstall“Development Tools”
建立 php 安装目录:
[root@linuxidc libmcrypt-2.5.8]# mkdir -p /usr/local/php5
进入 php 解压目录,预编译:
[root@linuxidc php-5.6.5]# ./configure –prefix=/usr/local/php5 –with-config-file-path=/usr/local/php5/etc –with-MySQL=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-mysql-sock=/tmp/mysql.sock –with-gd –with-iconv –with-zlib –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl –with-pdo-mysql=/usr/local/mysql –with-fpm-user=web –with-fpm-group=web –with-png-dir –with-freetype-dir –with-jpeg-dir
如果预编译总是不通过,可以参考下面这篇博客来解决问题再次预编译,知道预编译通过。
http://lyp.cn/350_how-to-fix-php-compile-errors
编译, 此过程配置不好的电脑时间会很长:
make
安装:
make install
复制 PHP 配置文件到安装目录:
[root@linuxidc php-5.6.5]# cp php.ini-production /usr/local/php5/etc/php.ini
删除系统自带的配置文件:
[root@linuxidc php-5.6.5]# rm -rf /etc/php.ini
添加软连接:
[root@linuxidc php-5.6.5]# ln -s /usr/local/php5/etc/php.ini /etc/php.ini
拷贝模板文件为 php-fpm 配置文件:
[root@linuxidc php-5.6.5]# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
编辑 php-fpm 配置文件:
[root@linuxidc php-5.6.5]# vim /usr/local/php5/etc/php-fpm.conf
去掉 pid = run/php-fpm.pid 前面的;注释
找到 user 和 group,改成:
user=web
group=web
保存退出。拷贝 php-fpm 到系统启动目录:
[root@linuxidc php-5.6.5]# cp /usr/local/src/php-5.6.5/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
添加 php-fpm 执行权限:
[root@linuxidc php-5.6.5]# chmod +x /etc/rc.d/init.d/php-fpm
设置 php-fpm 开机启动:
[root@linuxidc php-5.6.5]# chkconfig php-fpm on
编辑 php.ini:
[root@linuxidc php-5.6.5]# vim /usr/local/php5/etc/php.ini
设置时区
修改为:date.timezone = PRC
禁止显示 php 版本的信息
修改为:expose_php = OFF
支持 php 短标签
修改为:short_open_tag = ON
创建 web 目录:
[root@linuxidc nginx-1.7.0]# mkdir -p /home/data/web
设置 nginx 支持 php:
[root@linuxidc php-5.6.5]# vim /usr/local/nginx/conf/nginx.conf
修改为:
server {
listen 80;
# 域名
server_name myphp.com;
# 网站发布目录
root /home/data/web;
#charset koi8-r;
#access_log logs/host.access.log main;
#支持
location / {index index.php index.html index.htm;}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {# root html;}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {# root html;}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
设置网站发布目录所有者:
[root@linuxidc php-5.6.5]# chown web.web /home/data/web/ -R
设置目录权限:
[root@linuxidc php-5.6.5]# chmod 700 /home/data/web/ -R
编辑 php 探针:
[root@linuxidc php-5.6.5]# vim /home/data/web/index.php
内容为 php 代码,phpinfo 信息 (CSND 博客屏蔽掉了 php 代码)。
重启系统:
[root@linuxidc php-5.6.5]# shutdown -r now
在局域网内访问需要在浏览器端 PC 配置 hosts,即 C:\Windows\System32\drivers\etc\hosts 文件,添加以下信息
192.168.1.16 myphp.com
然后在浏览器端访问:
至此完整的 LNMP 已经正式完全编译安装完毕。
安装 Memcached:
Memcached 是做分布式缓存最简单的工具,学习成本也非常低,他可以将数据缓存到内存中,我们可以把一些临时数据放入到 Memcached 中,例如分布式的 session 等等,但是不要将持久化的数据放在 memcached 中,因为 Memcached 将数据放在内存中,当服务器宕机或者重启时,Memcached 中的数据会被清空的,如果你想做持久化的缓存,可以选用 Redis 等,Redis 的数据是持久化的,Redis 会按照一定的规律将内存中的数据同步到磁盘中,服务器重启或者宕机,数据是可以恢复的。
安装 Memcached 之前先要安装 libevent:
解压:
[root@linuxidc src]# tar xzvf libevent-2.0.19-stable.tar.gz
编译安装:
[root@linuxidc libevent-2.0.19-stable]# ./configure –prefix=/usr/local/libevent/ && make && make install
添加软连接:
[root@linuxidc libevent-2.0.19-stable]# ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5
解压,预编译 memcached:
[root@linuxidc memcached-1.4.22]# ./configure –prefix=/usr/local/memcached/ –with-libevent=/usr/local/libevent/
编译并安装:
[root@linuxidc memcached-1.4.22]# make && make install
编辑 Memcached 启动脚本:
[root@linuxidc memcached-1.4.22]# vim /etc/rc.d/init.d/memcached
给予 memcached 执行权限:
[root@linuxidc memcached-1.4.22]# chmod +x /etc/init.d/memcached
设置 memcached 开机启动:
[root@linuxidc memcached-1.4.22]# chkconfig –add memcached
[root@linuxidc memcached-1.4.22]# chkconfig memcached on
安装 telnet 服务:
[root@linuxidc bin]# yum install xinetd
[root@linuxidc bin]# yum install telnet-server
设置 telnet 开机启动:
[root@linuxidc bin]# chkconfig telnet on
将 telnet 启用:
[root@linuxidc bin]# vim /etc/xinetd.d/telnet
将 disabled 变为 no
配置防火墙允许 23 端口:
[root@linuxidc bin]# vim /etc/sysconfig/iptables
重启防火墙,重启 xinetd:
[root@linuxidc bin]# service xinetd restart
局域网内 windows 电脑安装 telnet 客户端:
然后 Windows+R,CMD 回车。
键入:telnet 192.168.1.16 11211
Windows 电脑的 dos 下开始会有问题,第一行看不见,直接回车从第二行开始操作 memcached:
至此,memcached 也安装完毕,如果 php 想利用 memcached 做分布式缓存,需要服务器安装 memcached 扩展,在 yii 框架中集成了对 memcached 做分布式缓存的很好的支持,如果你想把 session 放在 memcached 中,就自己查阅资料吧,度娘上一大把,好了,就到这里了。
希望可以帮助到你。