lamp/lnmp阶段复习
2015-12-12 13:43
441 查看
准备两台机器,一台跑mysql,一台跑web
一:安装mysql
192.168.31.166是web机器
在web机器上登录mysql:
web机器:安装的环境是LAMP加nginx,这里面不存在LNMP,nginx只是作为一个代理,那他作为代理的时候是不需要php环境的。
LAMP环境安装好后,接下来做一些配置
上图是bbs是discuz论坛
wordpress在cn.wordpress.org下载
解压wordpress:
pma就是phpmyadmin
添加三个虚拟主机
检查配置文件是否正确、检查80端口是否监听
在host文件添加
现在在浏览器访问bbs.abc.com,因为这个我们没有安装,我们是直接复制的也就是他这个里面已经存在了配置文件,他的配置文件使我们的老系统、老论坛的配置文件,可能我们访问会存在一些问题,如下图所示,当然你也可以重新安装。当然在这里我用另外一种方法去改他,去改配置文件的方法,
UC_DBNAME还没有,等会把本地的mysql拷贝过去。为啥要讲这种方法,因为日后可能会面临网站迁移,改域名。
global是全局的
现在改完了,可以试着刷新浏览器,发现错误已经发生了改变,实际上他已经连上对方数据库,但是对方数据库里并没有指定aming这个库,所以需要把库拷贝过去
这个错误说明对方机器需要安装rsync和openssh-clients
浏览器再次刷新下:又报这样的错,是权限问题
现在再次刷新浏览器,正常了,进入discuz页面了。
点默认版块又报错了
这是rewrite伪静态,那我们把伪静态再次配置下,在bbs虚拟主机中添加伪静态规则
再次刷新浏览器,又报错
进入虚拟主机配置文件,把之前的参数删掉,用下面的参数
现在再次刷新浏览器,点默认版块,现在是正常了,但是图片没加载进来
还有个地方:cd /data/bbs/,用grep他的目的是为了看在哪些文件里用到了www.1.com,-r目的是搜索那些子目录
进入管理中心把缓存删一下:
现在再次刷新浏览器,图片就加载进来了
安装wordpress,只要把wordpress程序放到指定的目录下去,然后再去绑定好这个域名就可以直接访问安装了
提交后会无法连接数据库
这是因为没有创建数据库里
创建wp-config.php
把复制的文本拷贝过来。
下面来安装phpmyadmin
如何去动静分离?80端口如何用nginx启动?apache要启动88端口。用80端口代理88端口
把apache端口改成88:进入apache主配置文件,把lisen 80改成88
再进入apache虚拟主机配置文件把80端口改成88
配置discuz.conf
server{ listen 80; server_name bbs.abc.com; index index.html index.htm index.php; root /date/bbs;
#根据user_agent控制(这个user_agent可以在apache里面配置,也可以在nginx里配置) if ($http_user_agent ~ 'bingbot/2.0|MJ12bot/v1.4.2|Spider/3.0|YoudaoBot|Tomato|Gecko/20100315'){ return 403; }location ~ \.php$ { (这里是:访问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; }location ~ .*\.(js|css)?$ { expires 24h; access_log off; }location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.baidu.com\ *.google.com *.google.cn *.soso.com ; if ($invalid_referer) { return 403; #rewrite ^/ http://www.example.com/nophoto.gif; } access_log off; }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; access_log /home/logs/discuz.log combined_realip;}
检测下nginx配置文件是否正确,重启nginx
配置blog.conf (参考 http://www.upupw.net/nginxhelp/n33.html)server{ listen 80; server_name blog.abc.com; index index.html index.htm index.php; root /date/blog;#根据user_agent控制 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; }location ~ .*\.(js|css)?$ { expires 24h; access_log off; } location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.baidu.com\ *.google.com *.google.cn *.soso.com ; if ($invalid_referer) { return 403; #rewrite ^/ http://www.example.com/nophoto.gif; } access_log off; } 测试:在浏览器访问blog.abc.com,出现重定向循环
配置pma
server
{
listen 80;
server_name pma.abc.com;
index index.html index.htm index.php;
root /data/pma;
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;
}
}
浏览器访问:
nginx记录日志,但不记录图片等静态页的日志,并且配置日志切割
discuz和wordpress访问后台限制一下ip白名单,比如只允许192.168.1.100访问(nginx)
192.168.31.144是真机的ip
浏览器访问:
那么为什么是403呢?因为我们走的是代理,代理的ip是127.0.0.1,所以在这里虚拟主机配置文件你限制任何一个ip,只要把127.0.0.1打开,所有的ip都可以访问
重启apache,重新访问
他阻断的是代理的ip,那这个时候我们该怎么办?只能去再nginx上去做限制了
vim discuz.conf
回到apache虚拟主机配置文件
把方框内注释掉。把apache的放开,把nginx的限制
重启apache和nginx
访问:
那么现在用另外一个ip去访问下:达到目的了
wordpress的后台在哪里呢?
wordpress也是在nginx里去限制
phpmyadmin整个站点需要配置用户认证(nginx)
写一个mysql备份的脚本,每天5点执行,需要远程拷贝到web机器上
一:安装mysql
192.168.31.166是web机器
在web机器上登录mysql:
web机器:安装的环境是LAMP加nginx,这里面不存在LNMP,nginx只是作为一个代理,那他作为代理的时候是不需要php环境的。
LAMP环境安装好后,接下来做一些配置
上图是bbs是discuz论坛
wordpress在cn.wordpress.org下载
解压wordpress:
pma就是phpmyadmin
添加三个虚拟主机
检查配置文件是否正确、检查80端口是否监听
在host文件添加
现在在浏览器访问bbs.abc.com,因为这个我们没有安装,我们是直接复制的也就是他这个里面已经存在了配置文件,他的配置文件使我们的老系统、老论坛的配置文件,可能我们访问会存在一些问题,如下图所示,当然你也可以重新安装。当然在这里我用另外一种方法去改他,去改配置文件的方法,
UC_DBNAME还没有,等会把本地的mysql拷贝过去。为啥要讲这种方法,因为日后可能会面临网站迁移,改域名。
global是全局的
现在改完了,可以试着刷新浏览器,发现错误已经发生了改变,实际上他已经连上对方数据库,但是对方数据库里并没有指定aming这个库,所以需要把库拷贝过去
这个错误说明对方机器需要安装rsync和openssh-clients
浏览器再次刷新下:又报这样的错,是权限问题
现在再次刷新浏览器,正常了,进入discuz页面了。
点默认版块又报错了
这是rewrite伪静态,那我们把伪静态再次配置下,在bbs虚拟主机中添加伪静态规则
再次刷新浏览器,又报错
进入虚拟主机配置文件,把之前的参数删掉,用下面的参数
现在再次刷新浏览器,点默认版块,现在是正常了,但是图片没加载进来
还有个地方:cd /data/bbs/,用grep他的目的是为了看在哪些文件里用到了www.1.com,-r目的是搜索那些子目录
进入管理中心把缓存删一下:
现在再次刷新浏览器,图片就加载进来了
安装wordpress,只要把wordpress程序放到指定的目录下去,然后再去绑定好这个域名就可以直接访问安装了
提交后会无法连接数据库
这是因为没有创建数据库里
创建wp-config.php
把复制的文本拷贝过来。
下面来安装phpmyadmin
如何去动静分离?80端口如何用nginx启动?apache要启动88端口。用80端口代理88端口
把apache端口改成88:进入apache主配置文件,把lisen 80改成88
再进入apache虚拟主机配置文件把80端口改成88
配置discuz.conf
server{ listen 80; server_name bbs.abc.com; index index.html index.htm index.php; root /date/bbs;
#根据user_agent控制(这个user_agent可以在apache里面配置,也可以在nginx里配置) if ($http_user_agent ~ 'bingbot/2.0|MJ12bot/v1.4.2|Spider/3.0|YoudaoBot|Tomato|Gecko/20100315'){ return 403; }location ~ \.php$ { (这里是:访问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; }location ~ .*\.(js|css)?$ { expires 24h; access_log off; }location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.baidu.com\ *.google.com *.google.cn *.soso.com ; if ($invalid_referer) { return 403; #rewrite ^/ http://www.example.com/nophoto.gif; } access_log off; }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; access_log /home/logs/discuz.log combined_realip;}
检测下nginx配置文件是否正确,重启nginx
配置blog.conf (参考 http://www.upupw.net/nginxhelp/n33.html)server{ listen 80; server_name blog.abc.com; index index.html index.htm index.php; root /date/blog;#根据user_agent控制 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; }location ~ .*\.(js|css)?$ { expires 24h; access_log off; } location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.baidu.com\ *.google.com *.google.cn *.soso.com ; if ($invalid_referer) { return 403; #rewrite ^/ http://www.example.com/nophoto.gif; } access_log off; } 测试:在浏览器访问blog.abc.com,出现重定向循环
配置pma
server
{
listen 80;
server_name pma.abc.com;
index index.html index.htm index.php;
root /data/pma;
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;
}
}
浏览器访问:
nginx记录日志,但不记录图片等静态页的日志,并且配置日志切割
discuz和wordpress访问后台限制一下ip白名单,比如只允许192.168.1.100访问(nginx)
192.168.31.144是真机的ip
浏览器访问:
那么为什么是403呢?因为我们走的是代理,代理的ip是127.0.0.1,所以在这里虚拟主机配置文件你限制任何一个ip,只要把127.0.0.1打开,所有的ip都可以访问
重启apache,重新访问
他阻断的是代理的ip,那这个时候我们该怎么办?只能去再nginx上去做限制了
vim discuz.conf
回到apache虚拟主机配置文件
把方框内注释掉。把apache的放开,把nginx的限制
重启apache和nginx
访问:
那么现在用另外一个ip去访问下:达到目的了
wordpress的后台在哪里呢?
wordpress也是在nginx里去限制
phpmyadmin整个站点需要配置用户认证(nginx)
写一个mysql备份的脚本,每天5点执行,需要远程拷贝到web机器上
相关文章推荐
- Android Manifest 用法
- Android学习笔记(二九):嵌入浏览器
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 小白观察:微软释放出其基于 Chromium 的 Edge 浏览器
- 互联网业内的迷雾 谨慎选择虚拟主机
- 选定虚拟主机 性能凸显优势
- 开通虚拟主机时提示Server.CreateObject失败的解决办法
- 浏览器 cookie 限制
- 用vbs实现虚拟主机和域名查循的脚本
- 玩转浏览器IE7的5个顶级使用技巧
- 字符集导致的浏览器跨站脚本攻击分析
- 星外虚拟主机平台国内五大域名接口设置方法
- 更改IE浏览器的图标
- wordpress rewrite问题解决
- 如何创建ajax对象并兼容多个浏览器
- Powershell Profiles配置文件的存放位置介绍
- PowerShell入门教程之创建和使用配置文件实例
- css ie6 ie7 ff的CSS hack使用技巧
- CSS 浏览器的等宽空格问题解决