您的位置:首页 > 运维架构 > Nginx

LNMP环境搭建,自启动 php7,mysql5.6,nginx1.11

2017-06-09 09:41 666 查看
对于初学者,如果不太确定自己的系统是否能够搭建起来服务,可以尝试使用 CentOS6.8_64位系统.

 

本文匹配的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/



安装依赖包

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



 
安装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.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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php lnmp mysql nginx yaf
相关文章推荐