一. LNMP环境快速部署
Nginx 简介
Nginx与Apache性能综合对比,如下图:
1.准备工作
恢复快照,初始化安装;设置永久IP;关闭防火墙。
安装包lnmp1.2-full.tar.gz 上传至服务器。
服务器需要3GB以上硬盘剩余空间。
MySQL 5.6及MariaDB 10必须1G以上内存。
确定yum源正常使用!
安装步骤
#tar -zxvf lnmp1.2-full.tar.gz
#cd lnmp1.2-full
进入安装界面
#./install.sh lnmp
(如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可)
按上述命令执行后,会出现如下提示:
需要设置MySQL的root密码(不输入直接回车将会设置为root),输入后回车进入下一步,如下图所示:
这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用,输入 n 表示不启用。默认为y 启用,输入后回车进入下一步,选择MySQL版本:
输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本:
输入PHP版本的序号,回车进入下一步,选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车。
如果是LNMPA或LAMP的话还需要设置管理员邮箱
再选择Apache版本
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin这几个软件。
安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK
并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并Install lnmp V1.2 completed! enjoy it.的话,说明已经安装成功。
安装失败
如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!
二.Nginx服务配置
1. 相关目录和文件
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/
默认网站目录 : /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
2.LNMP状态管理命令
LNMP 状态管理: lnmp {start|stop|reload|restart|kill|status}
LNMP各个程序状态管理: lnmp {nginx|mysql|php-fpm} {start|stop|reload|restart|kill|status}
平滑重启nginx进程 pkill -HUP nginx
检查nginx配置文件语句错误的命令 /usr/local/nginx/sbin/nginx -t
3.nginx 配置文件
实验1 虚拟主机
域名解析
C:\Windows\System32\drivers\etc\hosts
192.168.254.101 www.sina.com
192.168.254.101 www.sohu.com
网站目录规划
mkdir /home/wwwroot/sina/
mkdir /home/wwwroot/sohu/
修改配置
ulimit -n 查看用户写入量
ulimit -n 51200 修改为51200
192.168.8.199/nginx_status 查看链接网站活跃量、后台、请求数
vim /usr/local/nginx/conf/nginx.conf
66 listen 80;
建立虚拟主机文件
vim /usr/local/nginx/conf/vhost/v.conf
server {
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
include enable-php.conf;
}
server {
listen 80;
server_name www.sohu.com;
index index.html index.htm index.php;
root /home/wwwroot/sohu;
include enable-php.conf;
}
重启服务 测试
pkill -HUP nginx
测试 www.sina.com www.sohu.com
permanent 含义 301永久重定向 用在域名的跳转上
Last 含义 网页文件跳转常用
实验2 rewrite 重写/重定向
www.sina.com -> www.sohu.com 域名跳转
修改虚拟主机配置文件
vim /usr/local/nginx/conf/vhost/v.conf
server {
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
if ($http_host = www.sina.com){
rewrite (.*) http://www.sohu.com permanent;
}
include enable-php.conf;
}
重启服务 测试
pkill -HUP nginx
测试 www.sina.com -> www.sohu.com
网页文件跳转
修改虚拟主机配置文件
vim /usr/local/nginx/conf/vhost/v.conf
server {
listen 80;
server_name www.sina.com;
index index.html index.htm index.php;
root /home/wwwroot/sina;
rewrite index(\d+).html /index.php?id=$1 last;
include enable-php.conf;
}
建立index.php文件
vim /home/wwwroot/sina/index.php
<?php
echo "hello rewrite nginx!";
?>
重启服务 测试
pkill -HUP nginx
测试 www.sina.com/index5.html
实验3.代理负载均衡(反向代理)
准备工作:三台服务器 LNMP LAMP
S 192.168.254.101 Nginx (负载均衡服务)
S1 192.168.254.102 Apache 网站解析
S2 192.168.254.103 Apache 网站解析
配置S nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf
upstream myweb1 {
server 192.168.254.102:80;
server 192.168.254.103:80;
}
server
{
listen 80;
server_name www.sohu.com;
location /{
proxy_pass http://myweb1;
proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
设置S1服务器 要求 正常访问 关闭虚拟主机
vim /usr/local/apache2/htdocs/index.html
S111111111111
设置S2服务器 要求 正常访问 关闭虚拟主机
vim /usr/local/apache2/htdocs/index.html
S2222222222222
重启 S Nginx服务器 测试
pkill -HUP nginx
测试 www.sohu.com
克隆服务器
1)Vim /etc/sysconfig/network-scripts/ifcfg-eth0 网卡信息配置
HWADDR删除
2)Cd /etc/udev
Cd /rules.d
删除 70-persistent-net.rules
lnmp环境快速解析配置域名根目录
1. 输入命令
lnmp vhost add
2.输入解析好的域名 如 www.51php.vip
是否添加多个域名 选择输入n 回车
3.设置域名根目录
4.是否重写 输入n 回车
5.是否启动php pathinfo y
6.是否添加 access log 是做网站访问记录 选择y
7.回车
8.是否创建同名mysql数据库和用户 选择 n
9.是否添加ssl证书 n