一:建立php主页解析以及主页的访问控制
1.1:apache配置1.2:访问控制设定 二:Nginx服务建立以及tomcat负载均衡
2.1:nginx服务的建立
2.1.2:nginx的php环境安装: 2.2:tomcat服务的搭建2.3:nginx负载均衡
一:建立php主页解析以及主页的访问控制 1.1:apache配置1.1:apache配置 web服务 http lamp平台:linux appache mysql php 发帖留言进行提交,php把你的发言提交 php登录数据调用你所有的留言 将你的留言生成html语句然后显示到主页上 对外服务:ip地址,端口号80 443 查看是否安装了apache: rpm -q httpd 回车之后出现:httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64出现类似这一行就说明安装了apache 1)启动/终止服务 service httpd start/stop 2)验证 ss -antpl | grep 80 # a:所有,n:数字显示的ip,t:tcp协议,p:进程号pid,l:监听状态 3)主页建立 cd /var/www/html rm -rf * ls vim index.html hello setenforce 0(最好写上) 执行命令关闭防火墙:systemctl stop firewalld.service(最好写上)ccentos8中使用了firewalld代替了原来的iptables -F 执行命令查看防火墙状态:systemctl status firewalld.service 然后在windows上通过访问IP地址即可访问html内容 4)主配置文件分析 vim /etc/httpd/conf/httpd.conf 这里面有一条这个语句:Options Indexes FollowSymlinks把这条语句注释掉,重新写一条Options FollowSymlinks 要不然可以利用如下漏洞进行破坏: 利用apache漏洞,进行窃取账号密码等信息 mkdir /var/www/html/share # 创建一个共享文件夹 cp /etc/passwd /etc/shadow /var/www/html/share/ 然后在window上web浏览器地址栏输入ip地址+/share即可访问,可以把passwd和shadow下载下来 shadow可能权限不够,那就需要在Linux上通过root给apache赋予权限 cd /var/www/html/share chmod 0+r shadow 然后浏览器上重新下载,把文件另存为windows上,用记事本打开可以获得账号密码信息
更改主配置文件之后,shadow文件无法访问
1.2:访问控制设定
1)仅允许192.168.1.2主机访问主页 vim /etc/httpd/conf/httpd.conf Order allow,deny # 白名单, 黑名单:Order deny,allow Deny from all Allow from all all改为192.168.1.2,若是改为192.168.1. 后面没有0,这是代表这个网段 重启服务service httpd restart 2)对页面进行加密,先输入用户名再输入密码才能进入 用户名 密码 自己配置 cd /var/www/html/share htpasswd -c /etc/httpd/conf/httpuser tom vim /etc/httpd/conf/httpd.conf 找到上述“白名单”下面输入: authtype basic authname "please input username and password" authuserfile /etc/httpd/conf/httpuser require valid-user 重启服务:service httpd restart 3)mysql数据库的安装 yum install mysql-server -y service mysql start mysqladmin -u root -p password "123" # 为mysql创建账号密码 mysql -u root -p 4)PHP的安装 yum install php yum install php-mysql # 安装连接数据的PHP插件 还需要安装另一个插件:在centos6上,这个插件在另一张光盘上面,所以需要先卸载正在用的这张光盘 umount /dev/cdrom 然后点击虚拟机更换镜像 mount /dev/cdrom /media cd /media/Packages cp php-mbstring...到/root/Desktop 然后这张光盘就用不到了 cd /root/Desktop/ rpm -ivh php-mbstring... vim /etc/php.ini 搜索关键字short_open_tag = Off 改成On,不改的话,PHP的函数命令有可能不识别 cd /var/www/html vim index.php phpinfo(); ?> 然后在windows浏览器上输入地址+/index.php,看能否出来页面,若是有,则是说明apache可以解析PHP函数语句了
什么是LNMP: Linux Nginx Mysql PHP/Perl/Python,继apache之后的另一款在Linux下被大量使用的web服务软件 nginx web:支持庞大的并发访问 2.1:nginx服务的建立 编译安装之前确保已存在开发环境软件包(一般带有devel的都是开发包) yum -y install pcre-devel zlib-devel 创建运行用户和组 useradd -M -s /sbin/nologin nginx(名称) 然后把nginx-1.6.0.tar.gz拷贝到虚拟机中,这是下载路径:https://www.nginx.cn/nginx-download 编译安装 进入有tar.gz的目录下: tar zxf nginx-1.6.0.tar.gz ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx make # 编译C程序 make install # 安装 找到nginx路径/usr/local/nginx里的sbin文件夹,进入之后./nginx启动nginx 关闭:./nginx -s stop
在上述过程中,进行到./configure --prefix=/usr/local/nginx --user=nginx --group=nginx可能会报错,我就报错了,如图:
这是因为:Nginx是C/C++语言开发,建议在Linux上运行,安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,所以需要安装gcc
Nginx还需要安装其它依赖环境 pcre、zlib、openssl, 这些是解压包、ssl相关的依赖。
所以:
yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel
然后再执行./configure --prefix=/usr/local/nginx --user=nginx --group=nginx 成功
再运行:
make
查看是否安装成功
启动nginx:
cd /usr/local/nginx/sbin ./nginx
检查是否搭建成功:
关闭nginx:
./nginx -s stop
上述在centos8上:
运行make:
原因,是将警告当成了错误处理,
vim /root/Desktop/nginx-1.6.0/objs/Makefile 这个路径是tar zxf nginx-1.6.0.tar.gz产生的文件夹的路径
去掉CFLAGS中的-Werror
再重新make
-Wall 表示打开gcc的所有警告
-Werror,它要求gcc将所有的警告当成错误进行处理
/root/Desktop/nginx-1.6.0 make
会发现又有一个错误
根据错误提示:
src/os/unix/ngx_user.c: In function ‘ngx_libc_crypt’:
src/os/unix/ngx_user.c:35:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
cd.current_salt[0] = ~salt[0];
进入
/root/Desktop/nginx-1.6.0/src/os/unix vim ngx_user.c
然后再
make
没有报错
再运行
make install
在centos 8上我是创建得这个用户名nginx_server
查看是否安装成功
启动
进行网页验证
后来我把centos8和真实机连接,没有成功显示页面,那是因为我公司的电脑设置了代理,把代理去掉即可
先下载文件:php-5.3.28.tar.gz
php下载链接
tar zxf php-5.3.28.tar.gz yum install -y libxml2-devel libjpeg-devel libpng-devel ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib enable-fpm:进程管理器,在后台启动一个端口专门用来解析PHP make make install
2.2:tomcat服务的搭建
先下载文件
文件链接:apache-tomcat-7.0.54.tar.gz
下载文件apache-tomcat-7.0.54.tar.gz
链接:点我下载
下载后放在桌面上, cd /root/Desktop tar zxf apache-tomcat-7.0.54.tar.gz mv apache-tomcat-7.0.54 /usr/local/tomcat7 cd /usr/local/tomcat7 cd bin ./startup.sh # 启动 java -version # 查看是否有JDK 查看java路径 which java ss -antpl | grep 8080 # 查看tomcat是否开启
2.3:nginx负载均衡
nginx支持多并发,并且可以负责调度
nginx + tomcat负载均衡集群一:
安装nginx反向代理两个tomcat站点实现负载均衡
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module
usr,group 指定用户和组
with-file-aio 启用文件修改
with-http_stub_status_module 启用状态统计
with-http_gzip_static_module 启用gzip静态压缩
with-http_flv_module 启用flv模块
with-http_ssl_module 启用ssl模块
nginx + tomcat负载均衡集群二:
配置nginx
vim /usr/local/nginx/conf/nginx.conf
在http{...}区域中加入:
upstream tomcat_server{
server 172.16.1.10:8080 weight=1;
server 172.16.1.20:8080 weight=1;
}
weight为权重值设定为相同来演示实验效果
在location/{...}区域中加入
proxy_pass http://tomcat_server;
启动nginx验证
注意在两个tomcat上使用不同主页通过刷新火狐浏览器观察主页变化



