[网站上线]Lamp环境及其后续配置

防火墙配置

下面是云天河在腾讯云上配置防火墙的过程,
目前只配置INPUTOUTPUTFORWORD都是ACCEPT的规则

一、检查iptables服务状态

首先检查iptables服务的状态

 
  1. service iptables status

如果显示

 
  1. iptables: Firewall is not running

说明iptables服务是有安装的,但是没有启动服务
如果没有安装的话可以直接yum安装

 
  1. yum install -y iptables

启动iptables

 
  1. service iptables start

如果显示

 
  1. iptables: Applying firewall rules: [ OK ]

再看一下当前iptables的配置情况

 
  1. iptables -L -n

二、清除默认的防火墙规则

 
  1. # 首先在清除前要将policy INPUT改成ACCEPT,表示接受一切请求。
  2. # 这个一定要先做,不然清空后可能会悲剧
  3. iptables -P INPUT ACCEPT
  4. # 清空默认所有规则
  5. iptables -F
  6. # 清空自定义的所有规则
  7. iptables -X
  8. # 计数器置0
  9. iptables -Z

三、配置规则

 
  1. # 允许来自于lo接口的数据包
  2. # 如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
  3. iptables -A INPUT -i lo -j ACCEPT
  4. # ssh端口22
  5. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  6. # FTP端口21
  7. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  8. # web服务端口80
  9. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  10. # tomcat
  11. iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
  12. # mysql
  13. iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
  14. # 允许icmp包通过,也就是允许ping
  15. iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
  16. # 允许所有对外请求的返回包
  17. # 本机对外请求相当于OUTPUT,对于返回数据包必须接收啊,这相当于INPUT了
  18. iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
  19. # 如果要添加内网ip信任(接受其所有TCP请求)
  20. iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
  21. # 过滤所有非以上规则的请求
  22. iptables -P INPUT DROP
  23. # 要封停一个IP,使用下面这条命令:
  24. iptables -I INPUT -s ***.***.***.*** -j DROP
  25. # 要解封一个IP,使用下面这条命令:
  26. iptables -D INPUT -s ***.***.***.*** -j DROP

四、保存

首先

 
  1. iptables -L -n

看一下配置是否正确
没问题后,先不要急着保存,因为没保存只是当前有效,重启后就不生效,
这样万一有什么问题,可以后台强制重启服务器恢复设置
另外开一个ssh连接,确保可以登陆
确保没问题之后保存

 
  1. # 保存
  2. service iptables save
  3. # 添加到自启动chkconfig
  4. chkconfig iptables on

修改防火墙端口:修改 /etc/sysconfig/iptables 文件

配置 LAMP 环境

搭建 Linux+Apache+Mysql+PHP+Redis环境

LAMP一键安装包我们使用的是
https://lamp.sh/download.html
一般来说下载在线安装包即可,完整安装包太大了

下载好了通过SecureFXPortable上传至root根目录,
然后打开SecureCRTPortable,依次输入以下命令安装 wgetscreenunzip

 
  1. yum -y install wget screen unzip
  2. # 创建 lamp screen 会话
  3. screen -S lamp
  4. # 解压刚刚上传的.zip文件。注意,你的安装包有可能名字和的不一样
  5. # unzip lamp-master.zip
  6. # 授予刚刚解压出来的所有文件夹中的文件执行权限。注意,有可能你的文件夹名字和云天河的不一样
  7. chmod -R 777 lamp-master
  8. # 打开进入目录
  9. cd lamp-master
  10. # 启动安装程序
  11. # ./lamp.sh 2>&1 | tee lamp.log

接下来选择安装的版本,尽量接近如下配置,如果没有正好的可以高一些,尽量不要低

Apache 2.4
PHP 5.6不建议7.0
MySQL
中间会提示要求创建密码,输入的密码一定要牢记,如果遇到选择位置的时候,默认即可,具体参考参见
https://teddysun.com/lamp
最终确认完毕,输入回车键开始安装,安装大概要半小时
安装完毕后检查是否成功,重启Apache服务器。SSH输入

 
  1. service httpd restart

如果启动失败,提示错误,导致Apache无法启动,那么有可能是因为你所使用的系统版本太低,
推荐CentOS6.6【如果是学生类服务器建议32位,企业类64位】

如果启动成功,在本机Windows下打开浏览器,输入Linux的IP地址,查看是否能够访问
至此,Lamp环境配置完毕
云天河的Lamp安装包百度云链接:http://pan.baidu.com/s/1eSx1Fqy 密码:2pkf 或者去https://teddysun.com/lamp

安装Git

 
  1. yum -y install git

网站上线配置

一、apache

第一步:linux中输入下面命令
 
  1. vi /usr/local/apache/conf/httpd.conf

打开后在里面直接输入[这是vi编译器的搜索命令,按n继续往下查找,N继续往上搜索]

 
  1. /Directory

找到

 
  1. <Directory "/data/www/default">

将其改为

 
  1. <Directory "/data/www/">

之后你的项目直接存在www目录下就行了【如果不这样设置,可能会出现无法访问的问题,因为Directory是设置访问权限的】
如果你不太了解其中的权限控制,而且你的项目使用了第三方框架,那么请将对应项目目录设置为777权限,因为框架需要写操作
如,www下的项目名为mall,则

 
  1. chmod 775 /data/www/mall/ -R
第二步:linux中输入下面命令
 
  1. vi /usr/local/apache/conf/extra/httpd-vhosts.conf

将改为

 
  1. <VirtualHost *:80>
  2. ## 这个是个人博客的
  3. ### 如果服务器出错,发送错误信息到指定的邮箱地址
  4. ServerAdmin myboyli4@163.com
  5. ### 你所绑定的域名
  6. ServerName www.hlzblog.top
  7. ### 如果对应多级域名搜索不到,则指向到这个域名
  8. ServerAlias hlzblog.top
  9. ### DocumentRoot常量
  10. DocumentRoot "/data/www/blog"
  11. ### 按从左到右的优先次序自动读取默认主页面,例如index.php在当前目录不存在,再去读取index.html
  12. DirectoryIndex index.php index.html index.htm
  13. ### 这个是重定向404页面
  14. ErrorDocument 404 http://www.hlzblog.top/default.html
  15. ## 关闭apache报错
  16. php_flag display_errors off
  17. ## 伪静态配置
  18. ## 开启重写引擎
  19. RewriteEngine on
  20. ## 如果原本就存在这个目录或文件,则不会用重写
  21. RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
  22. RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
  23. ## 重写规则,正则匹配左边[伪静态的网站],得到的是对应右边的[实际的内容],NC表示不区分大小写,因为linux会区分
  24. RewriteRule ^/type/([023456789]+).html$ /index.php?type=$1 [NC]
  25. RewriteRule ^/article/id/([\d]+).html$ /index.php?type=8&amp;id=$1 [NC]
  26. ## 图片防盗链
  27. RewriteCond %{HTTP_REFERER} !^$ [NC]
  28. RewriteCond %{HTTP_REFERER} !hlzblog.top [NC]
  29. RewriteCond %{HTTP_REFERER} !google.com [NC]
  30. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
  31. RewriteCond %{HTTP_REFERER} !mall.hlzblog.top [NC]
  32. RewriteCond %{HTTP_REFERER} !bbs.hlzblog.top [NC]
  33. ## 防盗链的占位图片得指向站外
  34. RewriteRule ^\.(jpg|gif|png|bmp|swf|jpeg)$ https://i.loli.net/2018/02/14/5a83ba42d1397.png [R,NC,L]
  35. ### 权限设置
  36. <Directory />
  37. Options FollowSymLinks
  38. ## 这是是否允许.htaccess文件读取的,一般设置为None,
  39. ## 因为.htaccess每次打开都会在目录下去查找.htaccess文件,会耗性能
  40. AllowOverride None
  41. Order deny,allow
  42. ### 访问页面的IP权限,这里表示允许所有IP的都允许访问
  43. ### 如果要拒绝某IP的访问,例如,拒绝IP为210.10.56.32 的访问
  44. ### deny from 210.10.56.32
  45. ### 拒绝某个IP字段的访问
  46. ### deny from 219.5.45.0 ~ 219.5.45.255
  47. Allow from all
  48. ### 这个是跟文件是否设置密码相关的
  49. ### 例如,一个目录启用了密码保护,想单独开放它的一个子目录,
  50. ### 让这个子目录无须密码即可访问,那么需要相关设置
  51. Satisfy all
  52. </Directory>
  53. </VirtualHost>

让服务器读取对应目录下类似的配置文件,实现虚拟多站点

 
  1. Include /usr/local/apache/conf/vhost/*.conf

二、phpmyadmin

因为之前我们在安装phpadmin的时候,它叫我们输入过数据库密码,所以我们记得密码就行
我们现在因为把文件默认在www目录下的,所以我们给个二级域名给phpmyadmin就可以了,操作如下:
阿里云 => 域名管理 => 添加二级域名
再添加一个虚拟站点指向phpmyadmin的目录就行,现在登陆,用之前的密码就行
如果平时不用它,记得把访问权限设置为

 
  1. deny from all;

三、关于php默认配置

大多情况下默认报告错误信息是关闭的,但有时候有例外,我们在这里讲下吧

在我们找到php.ini文件然后再修改里面的内容搜索 display_errors ,应该会找到这样一行

 
  1. display_errors = On

你把On设置为Off就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值