简介
- 网站支撑系统,Linux世界中应用最多的服务
- 何为LNMP
- Linux+Nginx+Mysql/MariaDB+PHP
- 优势和功能
- 无需一个个输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对配置自动优化
- 支持自定义Nginx、PHP编译参数及网站和数据库目录、支持生成LetseEcrypt证书、LNMP模式支持多PHP版本、支持单独安装Nginx/Mysql/MariaDB/Pureftpd服务器。同时提供一些使用的辅助工具如虚拟主机管理、FTP用户管理...
- 下载地址:https://lnmp.org/download.html
LNMP安装
-
系统需求
- Centos/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server(深度)/Aliyun/Amazon..
- 5GB以上的硬盘空间,128MB以上的内存
- 安装MYSQL 5.6/7及MariaDB必须1GB以上内存
- Centos5,Debian6以前版本其官网已经结束支持使用
-
1、先配置IP地址和主机名
- vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 HWADDR=00:0C:29:BD:A1:6C //保持与UDEV记录一致 ONBOOT=yes BOOTPROTO=static IPADDR=172.16.8.100 NETMASK=255.255.255.0 GATEWAY=172.16.8.2 DNS1=114.114.114.114
- vim /etc/sysconfig/network
HOSTNAME=lnmp.sevenwin.org
- vim /etc/hosts
172.16.8.165 lnmp.sevenwin.org lnmp
- vim /etc/selinux/config
SELINUX=disabled
- [root@localhost ~]# reboot
- vim /etc/sysconfig/network-scripts/ifcfg-eth0
-
2、远程安装
- yum -y install screen
- Xshell远程连接之
- screen -S lnmp ://开启保活窗口,防止中断
- wget -chttp://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz
- cd lnmp1.4-full/ | ./install.sh
- 7:install MariaDB 10.1.23
- passwd
- 激活之
- 4:5.5.38
- 3:TCmalloc
- Install Over
- 扩展安装
- 缓存加速类扩展安装
- xcache:国人开发,PHP opcode缓存器
- [root@lnmp lnmp-1.4-full]# ./addons.sh install/uninstall
- http://ip.xcache/
- memcached:分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载
- eAccerator:PHP加速器,优化和动态内存缓存,提高PHP缓存性能
- opcache:PHP优化加速组件,和eAccerator冲突
- xcache:国人开发,PHP opcode缓存器
- imageMagick:用于查看、编辑位图文件,可用来替换GD库
- Radis:基于内存,键值对储存数据库
- 缓存加速类扩展安装
- 添加虚拟主机/网站站点
- lnmp vhost add
- 按提示添加纪录
- 部署站点程序
- wget -c http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip
- unzip Discuz_X3.3_SC_UTF8.zip -d dz
- cd dz
- cd uploads
- mv * /home/wwwroot/www.sevenwin.org/
- lnmp vhost add
-
3.客户机测试(win7)
- 修改"c:/windows/system/drivers/etc/hosts"
- 添加:172.16.8.100 www.sevenwin.org
- 在浏览器测试
- http://www.sevenwin.org/install
- 在服务端配置相关文件和目录
- cd /home/wwwroot/www.sevenwin.org/ -...
- 选择全新安装
- ...
- 在服务端配置相关文件和目录
- http://www.sevenwin.org/install
- 修改"c:/windows/system/drivers/etc/hosts"
-
4.服务器端其他设置
- lnmp vhost list 查看虚拟机
- lnmp vhost del 删除虚拟机
- 默认配置文件
- /usr/local/nginx/conf/nginx.conf
- lnmp database list 列出数据库
Nginx对比Apache
- Apache是同步多进程模型,Nginx是异步的,多个连接可以对应一个进程
- Nginx的抗并发能力更强,消耗资源较少
- Nginx支持反向代理,支持7层负载均衡
- Apache的rewrite比Nginx强大
- Apache的模块超多
- 一般来说,需要性能的web服务用Nginx;需要稳定的web服务用apache
Nginx配置文件结构
- /usr/local/nginx/conf/nginx.conf
- 全局块,配置影响nginx全局的指令
- events块,配置工作模式和连接数上限
- http块,可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
- server块,配置虚拟主机的相关参数
- location块,配置请求的路由,以及各种页面的处理情况
- 注意:
- 惊群现象:一个事件触发后唤醒多个进程,最后选择一个进程,造成资源浪费
Nginx反向代理
- 参考:https://blog.csdn.net/u012152619/article/details/53821518
- 反向代理网络环境搭建过程演示
- 网络拓扑图
- 1.lnmp端
- 增加一块网卡,ip是192.168.1.100(VMNET1)
- cd /etc/sysconfig/network-scripts/
- cp ifcfg-ens32 ifcfg-ens34
- nmcli con 拷贝UUID号
- vim ifcfg-ens34
- 修改ip192.168.1.100
- 粘贴UUID号
- 创建Nginx虚拟主机配置文件
- cd /usr/local/nginx/conf/
- cd vhost/
- vim www.sevenwin.org.conf
- 在server上面添加
upstream sw_net { server 192.168.1.2:80 weight=2; server 192.168.1.3:80 weight=1; }
- 添加location块内容
- lnmp reload
- 2.apache1客户端1配置(net)
- kill -9 $(cat /varrun/yum.pid)
- yum -y install httpd
- 将网卡设置为vnet1
- vim /etc/sysconfig/network-script/ifcfg-ens32
- static ip:192.168.1.2
- ipv6init=no
- systemctl enabled httpd
- systemctl start httpd
- ifdown ens32
- ifup ens32
- vim /var/www/html/index.html
- this is w1
- 3.apache2客户端2配置(net)
- kill -9 $(cat /varrun/yum.pid)
- yum -y install httpd
- 将网卡设置为vnet1
- vim /etc/sysconfig/network-script/ifcfg-ens32
- static ipaddr=192.168.1.2
- ipv6init=no
- systemctl enabled httpd
- systemctl start httpd
- ifdown ens32
- ifup 3ns32
- vim /var/www/html/index.html
- this is w2
- 4.win7客户机做测试