当前位置: 首页 > news >正文

网站开发 php python公司建立网站的好处

网站开发 php python,公司建立网站的好处,网站建设推广哪家专业,网站开发的费用是怎么计算的目录 一、基于授权的访问控制 (一)功能简介 (二)配置步骤 二、基于客户端的访问控制 (一)功能简介 (二)配置步骤 三、Nginx 虚拟主机 (一)基于域名的…

目录

一、基于授权的访问控制

(一)功能简介

(二)配置步骤

二、基于客户端的访问控制

(一)功能简介

(二)配置步骤

三、Nginx 虚拟主机

(一)基于域名的虚拟主机

(二)基于 IP 的虚拟主机

(三)基于端口的虚拟主机

四、LNMP 架构部署

(一)编译安装 MySQL

(二)安装 PHP 解析环境

(三)配置 Nginx 支持 PHP

(四)部署 Web 应用(以 Discuz 为例)

总结


 

一、基于授权的访问控制

(一)功能简介

Nginx 支持通过用户名和密码对访问特定目录或网站的客户端进行认证,配置逻辑与 Apache 相似,核心步骤包括生成认证文件、修改配置和重启服务。

(二)配置步骤
  1. 生成用户密码认证文件
  • 首先安装 ​​httpd-tools​​​(包含 ​​htpasswd​​ 工具):
yum -y install httpd-tools
  • 创建认证文件并添加用户(​​-c​​​ 表示首次创建文件,路径为 ​​/usr/local/nginx/passwd.db​​​,用户名为 ​​test​​):
htpasswd -c /usr/local/nginx/passwd.db test
  1. 设置文件权限与所有者
  • 确保只有 Nginx 运行用户可读取文件(假设 Nginx 用户为 ​​nginx​​):
chmod 400 /usr/local/nginx/passwd.db  # 只读权限
chown nginx /usr/local/nginx/passwd.db  # 所有者设为 nginx
  1. 修改 Nginx 主配置文件
    编辑 ​​​nginx.conf​​​,在目标 ​​location​​ 块中添加认证配置:
server {listen 80;server_name localhost;location / {root html;index index.html index.htm;auth_basic "secret";  # 认证提示信息auth_basic_user_file /usr/local/nginx/passwd.db;  # 认证文件路径}
}
  1. 验证配置并重启服务
nginx -t  # 检测语法正确性
systemctl restart nginx  # 重启 Nginx 使配置生效
  1. 访问测试 浏览器输入服务器 IP(如 ​​http://192.168.10.101​​),会弹出登录框,输入正确用户名密码即可访问。

二、基于客户端的访问控制

(一)功能简介

通过 ​​deny​​​ 和 ​​allow​​ 规则,根据客户端 IP 或 IP 段控制访问,规则按顺序执行,匹配即停止。

(二)配置步骤

在 ​​location​​​ 块中添加 IP 过滤规则(示例:拒绝 ​​192.168.10.3​​,允许其他所有 IP):

location / {root html;index index.html index.htm;deny 192.168.10.3;  # 拒绝单个 IPallow all;  # 允许所有 IP(需放在拒绝规则之后)
}

保存配置后,执行 ​​nginx -t​​​ 和 ​​systemctl restart nginx​​ 生效。

三、Nginx 虚拟主机

(一)基于域名的虚拟主机
  1. 客户端域名解析
    修改本地 ​​​hosts​​​ 文件(Windows 在 ​​C:\Windows\System32\drivers\etc\hosts​​​,Linux 在 ​​/etc/hosts​​),添加:
192.168.10.101 www.benet.com
192.168.10.101 www.accp.com
  1. 准备网站目录与测试页面
mkdir -p /var/www/html/benet /var/www/html/accp  # 创建站点目录
echo "www.aaaaaaaa.com" > /var/www/html/benet/index.html  # 生成测试首页
echo "www.bbbbbbbbb.com" > /var/www/html/accp/index.html
  1. 配置 Nginx 虚拟主机
    在 ​​​nginx.conf​​​ 中添加两个 ​​server​​ 块,分别绑定不同域名和根目录:
server {listen 80;server_name www.benet.com;access_log logs/www.benet.com.access.log;charset utf-8;location / {root /var/www/html/benet;index index.html;}
}server {listen 80;server_name www.accp.com;access_log logs/www.accp.com.access.log;charset utf-8;location / {root /var/www/html/accp;index index.html;}
}
  1. 测试访问 浏览器输入 ​​http://www.benet.com​​​ 和 ​​http://www.accp.com​​,应显示对应站点内容。

(二)基于 IP 的虚拟主机
  1. 添加虚拟 IP 地址
    通过复制网卡配置文件创建虚拟网卡(以 ​​​ens33​​ 为例):
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0  # 创建第一个虚拟 IP 配置
cp ifcfg-ens33 ifcfg-ens33:1  # 创建第二个虚拟 IP 配置

编辑 ​​ifcfg-ens33:0​​​ 和 ​​ifcfg-ens33:1​​​,分别设置 ​​IPADDR​​​ 为 ​​192.168.10.151​​​ 和 ​​192.168.10.152​​​,其他参数保持一致(如网关、DNS)。
重启网络服务使配置生效:

nmcli connection reload
nmcli connection up ens33
  1. 配置 Nginx 绑定 IP
    在 ​​​nginx.conf​​​ 中为每个 IP 绑定独立的 ​​server​​ 块:
server {listen 192.168.10.151:80;server_name www.benet.com;# 其他配置(如 root 目录)
}server {listen 192.168.10.152:80;server_name www.accp.com;# 其他配置
}
(三)基于端口的虚拟主机

在 ​​nginx.conf​​ 中为同一 IP 分配不同端口(如 8080 和 8888):

server {listen 192.168.10.101:8080;server_name www.benet.com;# 端口 8080 站点配置
}server {listen 192.168.10.101:8888;server_name www.accp.com;# 端口 8888 站点配置
}

访问时需在 URL 中添加端口(如 ​​http://192.168.10.101:8080​​)。

四、LNMP 架构部署

(一)编译安装 MySQL
  1. 准备依赖环境
yum install -y autoconf ncurses-devel gcc-c++ perl-Module-Install cmake
  1. 解压并编译 MySQL
tar -zxvf mysql-5.6.36.tar.gz
cd mysql-5.6.36
cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DSYSCONFDIR=/etc
make && make install
  1. 初始化与配置
cp support-files/my-default.cnf /etc/my.cnf  # 复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld  # 添加服务脚本
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld && chkconfig mysqld on  # 加入系统服务
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile  # 添加环境变量
. /etc/profile  # 立即生效
  1. 创建用户与初始化数据库
groupadd mysql && useradd -M -s /sbin/nologin mysql -g mysql
chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
systemctl start mysqld  # 启动服务
mysqladmin -u root password '123.com'  # 设置 root 密码
(二)安装 PHP 解析环境
  1. 安装依赖库
yum -y install gd libxml2-devel libjpeg-devel libpng-devel zlib-devel
  1. 编译 PHP
tar -zxvf php-5.5.38.tar.gz
cd php-5.5.38
./configure \--prefix=/usr/local/php5 \--with-gd \--with-zlib \--with-mysql=/usr/local/mysql \--with-mysqli=/usr/local/mysql/bin/mysql_config \--with-config-file-path=/usr/local/php5 \--enable-mbstring \--enable-fpm \--with-jpeg-dir=/usr/lib
make && make install
(三)配置 Nginx 支持 PHP
  1. 启动 php-fpm 服务
cd /usr/local/php5/etc/
cp php-fpm.conf.default php-fpm.conf  # 复制配置模板
useradd -M -s /sbin/nologin php  # 创建 php 专用用户
vim php-fpm.conf  # 修改用户、进程数等配置(如 user=php, group=php)
/usr/local/sbin/php-fpm  # 启动服务
  1. Nginx 配置 PHP 解析
    在 ​​​server​​​ 块中添加 PHP 解析规则(匹配 ​​.php​​ 文件):
location ~ \.php$ {root /var/www/html;fastcgi_pass 127.0.0.1:9000;  # 指向 php-fpm 监听端口fastcgi_index index.php;include fastcgi.conf;
}
  1. 测试 PHP 页面
    创建测试文件 ​​​test1.php​​​(输出 PHP 信息)和 ​​test2.php​​​(测试数据库连接),访问 ​​http://服务器 IP/test1.php​​ 应显示 PHP 环境信息。
(四)部署 Web 应用(以 Discuz 为例)
  1. 准备程序文件
yum -y install unzip
unzip Discuz_X3.3_SC_UTF8.zip
mkdir -p /var/www/html/bbs && mv upload/* /var/www/html/bbs
chown -R php:php /var/www/html/bbs  # 赋予 php 用户权限
  1. 创建数据库
mysql -uroot -p  # 登录 MySQL
create database bbs;  # 创建数据库
grant all on bbs.* to runbbs@'127.0.0.1' identified by 'bbs123';  # 授权本地访问
grant all on bbs.* to runbbs@'localhost' identified by 'bbs123';
  1. 初始化安装 浏览器访问 ​​http://服务器 IP/bbs/install/index.php​​,按向导完成安装,配置数据库信息即可。

总结

本文详细介绍了 Nginx 的两种访问控制机制(用户认证与 IP 过滤)、三种虚拟主机配置(域名、IP、端口)以及 LNMP 架构的完整部署流程。通过这些配置,可实现服务器资源的安全控制、多站点高效管理及动态 Web 应用的稳定运行。实际应用中,需根据业务需求调整参数(如并发连接数、缓存策略),并定期更新组件以保障安全性和性能。

http://www.dtcms.com/a/400395.html

相关文章:

  • 新手制作网站工具删除wordpress.org
  • 网站备案 公司wordpress注册开启邮件验证
  • 5分钟快速校准!Franka Research 3机械臂解锁科研新速度
  • 【java实现用户编辑上传图片功能】
  • 工业设计灵感网站黄石建设工程信息网
  • 职教集团网站建设方案网页编辑pdf
  • 做创意ppt网站湖南百度推广开户
  • 深圳网站建站建设公司地址美化wordpress后台
  • 网站建设的总体设计自媒体怎么注册
  • 成都市微信网站建电子商务平台网站建设方式
  • 网站浏览器图标怎么做外包活一般是怎么接的
  • 使用DLLM框架对Dream 7B模型在S1K数据集上进行有监督微调
  • linux下gcc升级
  • 卓越职业院校建设专题网站舆情管理
  • 网站建设公司擅自关闭客户网络建立网站定制
  • Python实现手榴弹爆炸算法(Grenade Explosion Method, GEM)(附完整代码)
  • 做wap网站django网站开发规范
  • 百度云网站建设视频甘肃兴城建设有限公司网站
  • 动态分配的UDP_TEST_EQUIPMENT_REQUEST端口
  • todesk远程时出现提示“正在等待对方手动授权”,需要关掉什么设置
  • 深圳网站建设公司佰达网站广告连接如何做
  • 给网站定位提供定制型网站建设
  • 01-基于FPGA和LTC2308的数字电压表设计(总概述)
  • 永川集团网站建设广州正规网站建设
  • 深入理解布隆过滤器
  • 为什么用asp做网站东阳网站建设
  • 【高频电子线路】课上知识点扩展
  • PyQt6+OpenCV 实战:打造功能完备的数字图像处理 GUI 系统
  • 开网站备案流程施工企业组织机构图
  • 特价流量网站网页制作软件免费版无需登录