lamp/lnmp实例

实现需求如下:

1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php

2. 同时安装apache和nginx,其中nginx启动80端口,用来跑静态对象(图片、js、css),apache监听88端口,负责跑动态页(php相关的),并且需要由nginx代理对外访问

3. mysql服务器需要开启慢查询日志

4. 搭建discuz、wordpress以及phpmyadmin,域名分别为bbs.abc.com, blog.abc.com, pma.abc.com

5. 配置discuz的伪静态(nginx)

6. apache不需要记录日志,nginx记录日志,但不记录图片等静态页的日志,并且配置日志切割

7. 配置图片防盗链(nginx)

8. 配置图片缓存7天,js,css缓存1天(nginx)

9. discuz和wordpress访问后台限制一下ip白名单,比如只允许192.168.1.100访问(nginx)

10. phpmyadmin整个站点需要配置用户认证(nginx)

11. 写一个mysql备份的脚本,每天5点执行,需要远程拷贝到web机器上

12. 把除了百度、google外的其他常见搜索引擎蜘蛛封掉,比如(bingbot/2.0、Sogou web spider/4.0、360Spider、YisouSpider、YandexBot/3.0)(nginx)

/usr/local/apache2/conf/extra/httpd-vhosts.conf

NameVirtualHost *:88

<VirtualHost *:88>

DocumentRoot "/www"

ServerName abc.com

ServerAlias www.abc.com

</VirtualHost>

<VirtualHost *:88>

DocumentRoot "/www/discuz"

ServerName bbs.abc.com

ServerAlias www.bbs.abc.com

</VirtualHost>

<VirtualHost *:88>

DocumentRoot "/www/wordpress"

ServerName blog.abc.com

ServerAlias www.blog.abc.com

</VirtualHost>

<VirtualHost *:88>

DocumentRoot "/www/phpadmin"

ServerName pma.abc.com

ServerAlias www.pma.abc.com

</VirtualHost>

bbs.conf

server

{

listen 80;

server_name bbs.abc.com;

index index.html index.htm index.php;

root /www/discuz;

if ($http_user_agent ~ ‘bingbot/2.0|MJ12bot/v1.4.2|Spider/3.0|YoudaoBot|Tomato|Gecko/20100315‘){

return 403;

}

location ~ admin.php {

allow 192.168.16.16;

deny all;

proxy_pass http://127.0.0.1:88;

proxy_set_header Host   $host;

}

location ~ \.php$

{

proxy_pass http://127.0.0.1:88;

proxy_set_header Host   $host;

proxy_set_header X-Real-IP      $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;

rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;

rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;

rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;

rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;

rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;

location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$

{

expires 7d;

valid_referers none blocked server_names  *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com ;

if ($invalid_referer) {

#      return 403;

rewrite ^/ http://blog.abc.com/;

}

access_log off;

}

location ~ .*\.(js|css)?$

{

expires      24h;

access_log off;

}

deny 192.168.1.0/24;

allow all;

access_log /usr/local/nginx/logs/discuz.log combined_realip;

}

blog.comf

server

{

listen 80;

server_name blog.abc.com;

index index.html index.htm index.php;

root /www/wordpress;

location = / {

proxy_pass http://127.0.0.1:88/;

proxy_set_header Host   $host;

proxy_set_header X-Real-IP      $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

location ~ \.php$

{

proxy_pass http://127.0.0.1:88;

proxy_set_header Host   $host;

proxy_set_header X-Real-IP      $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

access_log /usr/local/nginx/logs/wordpress.log combined_realip;

}

pma.conf

server

{

listen 80;

server_name pma.abc.com;

index index.html index.htm index.php;

root /www/phpadmin;

location / {

auth_basic              "Auth";

auth_basic_user_file   /usr/local/nginx/conf/.htpasswd;

}

location ~ \.php$

{

proxy_pass http://127.0.0.1:88;

proxy_set_header Host   $host;

proxy_set_header X-Real-IP      $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

access_log /usr/local/nginx/logs/pma.log combined_realip;

}

日志切割.sh

#!/bin/bash

#

exec &> /dev/null

d=`date -d "-1 day" +%Y%m%d`

/bin/mv   /usr/local/nginx/logs/discuz.log   /usr/local/nginx/logs/$d.discuz.log

/usr/local/nginx/sbin/nginx -s reload

find /tmp/ -type f -mtime +30|xargs rm -f

时间: 2024-11-06 07:49:05

lamp/lnmp实例的相关文章

centos lamp/lnmp阶段复习 第二十五节课

centos  lamp/lnmp阶段复习   第二十五节课 上半节课 下半节课 f

lamp/lnmp阶段练习Linux常用服务部署与优化

lamp/lnmp阶段练习Linux常用服务部署与优化 我们以模拟实际需求的形式来复习.需求如下: 1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php 2. 同时安装apache和nginx,其中nginx启动80端口,用来跑静态对象(图片.js.css),apache监听88端口,负责跑动态页(php相关的),并且需要由nginx代理对外访问3. mysql服务器需要开启慢查询日志4. 搭建discuz.wordpress以及phpmy

[开源软件] 腾讯云Linux服务器一键安装LAMP/LNMP/LANMP环境 转

本帖最后由 我本戏子 于 2015-8-13 22:00 编辑 OneinStack是非常优秀的一键PHP/JAVA安装脚本,提供以下环境:lnmp(Linux + Nginx+ MySQL+ PHP)lamp(Linux + Apache+ MySQL+ PHP)lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache):Nginx处理静态,Apache(mod_php)处理动态PHPlnmt(Linux + Nginx+ MySQL+ Tomcat):Nginx处理静态

lanmp v2.5一键安装包发布(包括lamp,lnmp,lnamp安装)

lanmp一键安装包是wdlinux官网2010年开始推出的lamp,lnmp,lnamp(apache,nginx,php,mysql,zend,eAccelerator,pureftpd)应用环境的快速简易安装包,执行一个脚本,整个环境就安装完成就可使用,快速,方便易用,安全稳定1 支持lamp(linux+apache+php+mysql),lnmp(linux+nginx+php+mysql)环境快速安装部署上线2 支持lnamp,即支持nginx+apache组合环境的应用,也即是ng

企业级LNMP实例搭建

企业级LNMP实例搭建(centos6) 阅读目录 1.1 部署LNMP架构说明 第2章 LNMP环境搭建步骤 2.1 部署linux系统 2.2 部署nginx网站服务 2.3 部署mysql数据库服务 2.4 部署php服务 2.5 nginx 与 php 建立连接关系 2.6 编辑php与mysql连通性测试文件,并进行测试 2.7 测试php与数据库连通性 2.8 下载部署wordpress博客程序 3.1 mysql数据库迁移 3.2 本地数据挂载到nfs共享储存 1.1 部署LNMP

LAMP LNMP 和 LNMPA

LAMP指的是:Linux+Apache+MySQL+Perl/PHP/Python LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件: Linux,操作系统: Apache,网页服务器: MySQL,数据库管理系统(或者数据库服务器): PHP 和 Perl 或 Python.Programming Language脚本语言 (perl, Python, PHP, ...). LNMP指的是:Linux+Nginx+MySQL+PHP Linux是一类Unix计算机操

LAMP/LNMP搭建好后输入本地网址返回PHP文件的代码

分析思路:php未解析成功,导致网页直接输出PHP的代码. LAMP: APACHE:编辑配置文件添加一下内容 vim /etc/httpd/conf/httpd.conf788行addtype application/x-httpd-php .phpaddtype application/x-httpd-php .php-source .php 保存退出后 /etc/init.d/httpd restart重启服务 LNMP: 搭建完LNMP环境后输入本地网址后直接返回: <?phpphpin

LAMP+LNMP(一) LAMP架构概述

一.LAMP架构概述 LAMP就是 Linux.Apache(httpd).MySQL.PHP四个东东的统称,我们常见的大部分网站都是由这个体系提供的,比如google.Taobao.51CTO等等.其中 Linux是操作系统,是其他三个东东的宿主,企业中一般使用CentOS7.CentOS6等等. Apache是直接面对用户的,用户发送http请求后由他决定提供哪些相应的内容. MyAQL是一种关系型数据库管理系统,你可以把他简单理解为多个大型的Excel表,他记录了网站中文字的东西,比如用户

LAMP+LNMP(五)LAMP环境搭建测试

按顺序安装LAMP三个组件后,LAMP的环境的基础程序就已经搭建完毕了.接下来我们要把各个模块铆接起来并测试其工作是否正常. 一.Apache2.4与PHP5的结合 1.修改Apache2.4的配置文件 vim /usr/local/apache2.4/conf/httpd.conf #httpd的配置文件安装时默认设置在这个路径下 一共要修改四处地方:a.给sever设置一个severname这一步主要是用来解决httpd启动时的告警信息,如下图:设置方法找到SeverName行,将#Serv