/etc/httpd/conf.d/welcome.php
du -sh命令查看大小
lnmp(C7)html
Nginx:端口:80
php-fpm:端口9000
安装:位置错误容易引发实验错误mysql
准备工做
1.环境要求:
操做系统:CentOS 7.X 64位
关闭SELinux和iptables防火墙
这次试验环境使用网络yum源,保证系统能正常链接互联网
2.网络yum源:
先将系统自带的yum配置文件移除或者删除,而后下载如下两个配置文件
官方基础:http://mirrors.163.com/.help/CentOS7-Base-163.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
epel拓展:http://mirrors.aliyun.com/repo/epel-7.repo
下载完成后,须要使用命令清除掉原有的yum缓存,使用新的配置文件创建缓存
# yum clean all #清除掉原有缓存列表
# yum makecache #创建新的缓存列表
# yum update #将全部能更新的软件更新(非必选)
3.安装编译工具和依赖软件包:
# yum -y install gcc gcc-c++ pcre-devel openssl openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel
4. Nginx、MySQL、PHP三大软件的源码包下载地址:
Nginx:http://nginx.org/en/download.html
MySQL:https://dev.mysql.com/downloads/mysql/
PHP:http://www.php.net/
版本选用:
Nginx: 1.12.* #选用软件的稳定版便可
Mysql: 5.5.* #5.5以上版本须要1G以上的内存,不然没法安装
PHP: 7.1.* #咱们使用的是php7
注意:每次安装LNMP时,软件包的小版本都不同,官方会对其大版本下的小版本进行覆盖式更新,本文内部分连接会失效,切记按照下载版本进行安装。
2、源码软件包安装
1.Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特色是占有内存少,并发能力强。
1.1 下载Nginx源码包nginx
1.2 建立用于运行Nginx的用户c++
1.3 解压缩Nginx并安装sql
1.4 上传编写好的nginx启动管理脚本(见文本尾部)
启动nginx:ln -s /usr/local/nginx/sbin/* /usr/local/bin
启动:nginx &
2.MySQL
下载:https://dev.mysql.com/downloads/mysql/
选择:MySQL Community Server 5.5 »
选择:Select Version: 按照本身要求选择
Select Operating System: Source Code
Select OS Version: Generic Linux
格式:mysql-N.N.NN.tar.gzapache
2.1建立用于运行Mysql的用户:vim
2.2解压缩Mysql并安装:缓存
2.3修改安装后的目录权限bash
2.4生成Mysql配置文件
2.5初始化,生成受权表
初始化成功标志:两个ok
2.6生成Mysql的启动和自启动管理脚本
切换到mysql的源码解压缩目录下的support-files
2.7给mysql的root用户设置密码
3.PHP
下载:http://www.php.net/
3.1解压缩PHP并安装:
报错提示:若遇到libpng.so not found .报错(老版本的PHP会出现此问题)
解决方案:
3.2生成php配置文件
复制源码包内的配置文件到安装目录下,并更名便可
3.3建立软链接,使用php相关命令是更方便
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
4.配置Nginx链接PHP(重难点)
4.1 nginx链接php须要启动php-fpm服务
生成php-fpm的配置文件,并修改指定参数
修改指定条目的参数:
pid = run/php-fpm.pid
修改用户和组的指定用户
user = nginx
group = nginx
修改Nginx启动管理脚本:将php-fpm的注释取消掉便可
4.2 修改Nginx的配置文件,使其识别.php后缀的文件
取消下列行的注释,并修改include选项的后缀为fastcgi.conf,并注意每一行结尾的分号和大括号
测试:
重启Nginx服务,建立php测试文件,访问并查看是否解析
启动nginx:/usr/local/nginx/sbin/nginx &
启动php-fpm:php-fpm
端口:80、9000 ps aux | grep 端口
4.3 修改Nginx配置文件,使其默认自动加载php文件
location / {
root html; #Nginx的默认网页路径:PREFIX/html
index index.php index.html; #设置默认加载的页面,以及优先级
}
附件:建议使用时先复制到文本文件中查看下是否有字符集问题
#################################Nginx启动管理脚本##################################
ngxc="/usr/local/nginx/sbin/nginx"
pidf="usr/local/nginx/logs/nginx.pid"
ngxc_fpm="/usr/local/php/sbin/php-fpm"
pidf_fpm="/usr/local/php/var/run/php-fpm.pid"
case "$1" in
start)
$ngxc -t &> /dev/null
if [ $? -eq 0 ];then
$ngxc
$ngxc_fpm
echo "nginx service start success!"
else
$ngxc -t
fi
;;
stop)
kill -s QUIT $(cat $pidf)
kill -s QUIT $(cat $pidf_fpm)
echo "nginx service stop success!"
;;
restart)
$0 stop
$0 start
;;
reload)
$ngxc -t &> /dev/null
if [ $? -eq 0 ];then
kill -s HUP $(cat $pidf)
kill -s HUP $(cat $pidf_fpm)
echo "reload nginx config success!"
else
$ngxc -t
fi
;;
*)
echo "please input stop|start|restart|reload."
exit 1
esac
screen -S:防掉线
screen -r:恢复以前的状态
xcache:设置的密码后面有用
uninstall.sh:卸载命令(只针对脚本)
install.sh安装软件(使用方式:./install.sh)
lnmp.org管理命令:lnmp {start|stop等}#因此软件一块儿管理
lnmp {apache等}+{start等} #单独管理某一个
存放目录:/usr/local/* 网页目录:/home/wwwroot/default/ 网站服务器日志目录:/home/wwwlogs/