CentOS7系统配置Nginx服务+Apache动静分离(实战!)
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,Nginx动静分离介绍Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术;静态页面交给Nginx处理,动态页面交给PHP-FPM模块或Apache处理;在Nginx的配
千家信息网最后更新 2025年01月29日CentOS7系统配置Nginx服务+Apache动静分离(实战!)
Nginx动静分离介绍
Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术;
静态页面交给Nginx处理,动态页面交给PHP-FPM模块或Apache处理;
- 在Nginx的配置中,是通过location配置段配合正则匹,配实现静态与动态页面的不同处理方式。
搭建LAMP架构
为方便实验直接用yum安装,不用手工编译安装。用两台虚拟机,分别搭建LAMP架构和Nginx服务。
1.安装Apache服务
[root@localhost ~]# yum install httpd httpd-devel -y.........//省略安装过程[root@localhost ~]#
2.开启服务,配置Firewalld防火墙
[root@localhost ~]# systemctl start httpd.service //开启服务[root@localhost ~]# [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http //放通http服务success[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=https //放通https服务success[root@localhost ~]# firewall-cmd --reload //重载防火墙success[root@localhost ~]#
3.安装mariadb数据库
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
[root@localhost ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel -y...........//省略安装过程[root@localhost ~]#
4.开启数据库服务
[root@localhost ~]# systemctl start mariadb.service [root@localhost ~]#
5.进行数据库设置
[root@localhost ~]# mysql_secure_installation //对数据库进行设置NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none): //给root管理员设定密码,直接回车OK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.Set root password? [Y/n] y //是否设置,选择yNew password: //输入新密码Re-enter new password: //再次输入新密码Password updated successfully!Reloading privilege tables.. ... Success!By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n] n //是否删除匿名用户,选择n ... skipping.Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] n //是否拒绝root用户远程登陆,选择n ... skipping.By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] n //是否删除测试数据库,选择n ... skipping.Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] y //是否加载权限列表,选择y ... Success!Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB![root@localhost ~]#
6.安装PHP
[root@localhost ~]# yum -y install php.......//省略过程[root@localhost ~]#
7.安装PHP与MySQL的连接包
[root@localhost ~]# yum install php-mysql -y........//省略过程[root@localhost ~]#
8.安装PHP插件
[root@localhost ~]# yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath........//省略过程[root@localhost ~]#
9.测试php首页
[root@localhost ~]# cd /var/www/html/[root@localhost html]# ls[root@localhost html]# vim index.php[root@localhost html]#
10.测试完毕,修改主页文件
[root@localhost html]# vim /var/www/html/index.php[root@localhost html]# systemctl restart httpd.service [root@localhost html]#
搭建Nginx服务
1.修改主机名
[root@localhost ~]# hostnamectl set-hostname nginx[root@localhost ~]# su[root@nginx ~]#
2.解压nginx源码包到"/opt/"目录
[root@nginx ~]# mkdir /mnt/tools[root@nginx ~]# mount.cifs //192.168.100.50/tools /mnt/tools/Password for root@//192.168.100.50/tools: [root@nginx ~]# cd /mnt/tools/LNMP/[root@nginx LNMP]# lsDiscuz_X3.4_SC_UTF8.zip mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.10.tar.bz2 php-7.1.20.tar.gz[root@nginx LNMP]# tar zxvf nginx-1.12.2.tar.gz -C /opt/........//省略过程[root@nginx LNMP]#
3.安装环境包
[root@nginx LNMP]# cd /opt/[root@nginx opt]# lsnginx-1.12.2 rh[root@nginx opt]# cd nginx-1.12.2/[root@nginx nginx-1.12.2]# lsauto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src[root@nginx nginx-1.12.2]# [root@nginx nginx-1.12.2]# yum install -y gcc gcc-c++ pcre-devel zlib-devel.........//省略过程[root@nginx nginx-1.12.2]#
3.创建nginx用户
[root@nginx nginx-1.12.2]# useradd -M -s /sbin/nologin nginx[root@nginx nginx-1.12.2]#
4.配置nginx服务,并编译安装
[root@nginx nginx-1.12.2]# ./configure \ //配置服务> --prefix=/usr/local/nginx \ //安装路径> --user=nginx \ //属主> --group=nginx \ //数据> --with-http_stub_status_module //启用统计模块[root@localhost nginx-1.12.2]# make && make install //编译安装.........//省略编译过程[root@localhost nginx-1.12.2]#
5.优化nginx服务的管理
[root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //优化nginx命令路径[root@nginx nginx-1.12.2]# [root@nginx nginx-1.12.2]# vim /etc/init.d/nginx //制作nginx管理脚本#!/bin/bash# chkconfig: - 99 20# description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1esacexit 0[root@nginx nginx-1.12.2]#[root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx //添加执行权限[root@nginx nginx-1.12.2]# chkconfig --add nginx //添加让service能够识别[root@nginx nginx-1.12.2]#
6.开启nginx服务
[root@nginx nginx-1.12.2]# service nginx start //开启服务[root@nginx nginx-1.12.2]# netstat -ntap | grep 80 //查看端口tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 58696/nginx: master [root@nginx nginx-1.12.2]#[root@nginx nginx-1.12.2]# systemctl stop firewalld.service //关闭防火墙[root@nginx nginx-1.12.2]# setenforce 0[root@nginx nginx-1.12.2]#
7.安装elinks工具测试nginx网站
[root@nginx nginx-1.12.2]# yum install elinks -y..........//省略安装过程[root@nginx nginx-1.12.2]#[root@nginx nginx-1.12.2]# elinks http://192.168.52.132/[root@nginx nginx-1.12.2]#
8.用宿主机测试nginx网站
实现动静分离
1.在nginx服务配置文件中添加代理
[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf location ~ \.php$ { proxy_pass http://192.168.52.131; //代理地址 }[root@nginx nginx-1.12.2]# service nginx stop [root@nginx nginx-1.12.2]# service nginx start [root@nginx nginx-1.12.2]#
2.访问nginx服务的地址(静态资源)
3.访问nginx服务地址(动态资源)
服务
过程
数据
配置
数据库
处理
测试
选择
动态
静态
管理
编译
动静
地址
用户
防火墙
页面
防火
命令
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宁海安卓软件开发
珠海软件开发相信小罗10
45g网络技术
无锡宝通科技有限公司互联网
计算机网络安全重点
朗科科技能源互联网
网络安全靠大家班会主题班会
武汉国家网络安全基地孵化器销售
怎样速成数据库
如何分析数据库连接池泄漏
pda软件开发技术
网络安全教育封面
网络安全企业主管部门
网络安全学院成绩
智能网联软件开发技术栈
软件开发的前期规划
概要设计是数据库设计吗
数据库 case
天骄网络安全手抄报
什么是网络安全防护技术
沧州盘古网络技术有限公司
网络安全中国的贡献
商用软件开发证书
江阴海航软件开发收购价
我国网络安全教育现状分析
意识形态的网络安全ppt
陕西浪潮服务器虚拟化系统
服务器配置完ip后用重启吗
数据库账号安全
济南计算机软件开发报价