对于初学者,
如果不太确定自己的系统是否能够搭建起来服务,
可以尝试使用 CentOS6.8_64
位系统.
本文匹配的LNMP源码链接:
http://download.csdn.net/detail/u010145312/9877658
http://download.csdn.net/detail/u010145312/9866363
本文匹配的LNMP源码链接:
http://download.csdn.net/detail/u010145312/9877658
http://download.csdn.net/detail/u010145312/9866363
查看一下系统版本
cat /etc/issue
将下载的软件包安装在目录 /usr/local/src/
下.
软件包:
http://download.csdn.net/detail/u010145312/9866362
http://download.csdn.net/detail/u010145312/9866363
cd /usr/local/src/
http://download.csdn.net/detail/u010145312/9866362
http://download.csdn.net/detail/u010145312/9866363
cd /usr/local/src/
安装依赖包
yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel 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-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel cmake
![](https://img-blog.csdn.net/20170611233731954?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE0NTMxMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
安装PHP
tar zxvf php-7.1.5.tar.gz
cd php-7.1.5
./configure --help
./configure --prefix=/usr/local/php7.1.5 --with-curl --with-bz2 --with-zlib --with-mhash --with-pcre-regex --with-mysqli=mysqlnd --with-pdo-mysql --with-gd --with-jpeg-dir --with-png-dir --with-openssl --with-pdo-mysql --with-libxml-dir --with-freetype-dir --with-iconv --enable-opcache --enable-bcmath --enable-ftp --enable-shmop --enable-fpm --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-calendar --enable-zip --enable-mbstring --enable-pdo
make && make install
安装完成后,
进入 /usr/local
目录下,
查看新安装的php7.1.5
cd /usr/local/
ls
ln -s php7.1.5 php
配置文件
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
//修改php-fpm.conf
vi php-fpm.
conf
//将;pid = run/php-fpm.pid 前面的分号删掉
创建 www
用户
groupadd www
useradd -g www www
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
将
user = nobody
group = nobody
修改为:
user = www
group = www
//创建php.ini
cp /usr/local/src/php-7.1.5/php.ini-development /usr/local/php/lib/php.ini
生产配置
可以复制 php.ini-production
//拷贝php-fpm脚本至/etc/init.d目录
cp /usr/local/src/php-7.1.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
//设置权限并启动php-fpm:
chmod755
/etc/init.
d/php-fpm
/etc/init.
d/php-fpm
start
chkconfig--
add php-fpm
//最后,给出php-fpm以服务的方式停止和启动
service php-fpm stop
service php-fpm start
查看PHP
是否运行:
ps -ef|grep php
命令行使用php
ln -s /usr/local/php/bin/php /usr/bin/php
php –v
安装nginx
cd /usr/local/src/
安装nginx
变量调试模块
tar zxvf echo-nginx-module-0.58.tar.gz
tar zxvf nginx-1.11.2.tar.gz
cd nginx-1.11.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --add-module=/usr/local/src/echo-nginx-module-0.58
make && make install
启动nginx
cd /usr/local/nginx
./sbin/nginx
查看是否在运行
ps -ef | grep nginx
配置开机启动
首先写一个shell脚本,脚本名称:nginx
#!/bin/bash
# chkconfig: 35 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
test -x $DAEMON || exit 0
d_start(){
$DAEMON || echo -n " already running"
}
d_stop() {
$DAEMON -s quit || echo -n " not running"
}
d_reload() {
$DAEMON -s reload || echo -n " counld not reload"
}
case "$1" in
start)
echo -n "Starting $DESC:$NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC:$NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC configuration..."
d_reload
echo "reloaded."
;;
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
exit 3
;;
esac
exit 0
设置可执行权限
chmod +x /etc/rc.d/init.d/nginx
添加系统服务
chkconfig --add nginx
service nginx restart
查看IP
地址:
ifconfig
配置防火墙:
vim /etc/sysconfig/iptables
添加一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart
确认nginx
服务开启, ps -ef|grep nginx
在浏览器输入IP
地址,
即可测试 nginx
服务器搭建成功
配置nginx支持php
cd /usr/local/nginx/conf/
vim nginx.conf
将第2
行的 #user nobody;
修改为
user www www;
将45
行的
index index.html index.htm;
index index.html index.htm;
修改为
index index.html index.htm index.php;
![](https://img-blog.csdn.net/20170611234524560?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE0NTMxMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
index index.html index.htm index.php;
将65到71行的注释符去掉
修改69
行数据:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
重启nginx
服务:
service nginx restart
编写php
文件:
cd /usr/local/nginx/html/
vim index.php
在浏览器输入 IP/index.php
访问PHP
文件
简单的说一下 echo-nginx-module
编译 nginx
的时候,
我们加入了 echo-nginx-module,
这个模块可以使nginx
输出一些简单的信息,
方便获取nginx
的变量信息.
修改 /usr/local/nginx/conf/nginx.conf
文件
将 default_type application/octet-stream;
修改为:
default_type text/plain;
在47-50
行加入:
set $foo hello ;
echo "$foo";
echo $args;
echo $document_root;
保存,
退出
重启 nginx
服务
service nginx restart
此时再访问IP ,
会打印出
变量信息.
安装mysql
yum –y install gcc gcc-c++ ncurses-devel perl
cd /usr/local/src/
tar zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap && make && make install
groupadd mysql
useradd -r -g mysql mysql
创建安装目录:
mkdir -p /usr/local/mysql
创建数据文件目录:
mkdir -p /data/mysql
cd /usr/local/src
tar zxvf mysql-5.6.16.tar.gz
cd mysql-5.6.16
设置编译参数:
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=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
重新运行配置,需要删除CMakeCache.txt文件
rm -f CMakeCache.txt
make && make install
cd /usr/
local
/mysql
chown -R mysql:mysql .
cd /data/mysql
chown -R mysql:mysql .
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysql
切换mysql
用户,
初始化数据:
cd /usr/local/mysql
chown -R mysql.mysql .
su – mysql
scripts/mysql_install_db
exit
cp /usr/
local
/mysql/support-files/my-
default
.cnf /etc/my.cnf
如果/etc/my.cnf文件存在,则覆盖
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile
在export
之前添加:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
保存后,
执行文件
source /etc/profile
启动mysql
服务:
service mysqld restart
ps -ef|grep mysql
登陆mysql:
mysql
安装yaf
cd /usr/local/src/
tar zxvf yaf-3.0.4.tgz
cd yaf-3.0.4
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
修改php.ini
文件:
vim /usr/local/php/lib/php.ini
添加
extension=yaf.so
保存,
退出.
重启 PHP-fpm
service php-fpm restart
保证nginx
运行状态下,
浏览器访问: IP/index.php
可以看到 yaf
已经安装成功.
安装redis
cd /usr/local/src/
tar zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
make
cd src
启动redis
服务:
./redis-server
或者,
指定配置文件启动redis
服务:
./redis-server redis.conf
测试客户端程序redis-cli
和redis
服务交互
./redis-cli