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

网站开发项目推荐怎么样自己做一个网站

网站开发项目推荐,怎么样自己做一个网站,任丘市做网站,长兴县建设局网站目录 一、基于授权的访问控制 (一)功能简介 (二)配置步骤 二、基于客户端的访问控制 (一)功能简介 (二)配置步骤 三、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/598275.html

相关文章:

  • seo整站优化哪家好做洗衣液的企业网站
  • 北京论坛网站建设wordpress可视化界面
  • 2.10 实践练习:训练意图识别模型并部署为 API
  • server 2008 iis部署网站2345网址导航是什么公司的
  • 【穿越Effective C++】条款17:以独立语句将newed对象置入智能指针——异常安全的智能指针初始化
  • 安全月考评哪个网站做哪里做网站最好网站
  • 路由器端口转发做网站访问量wordpress add_action do_action
  • CSS中transition属性详解
  • C# 求取两个整数的最小公倍数
  • 廊坊中小企业网站制作da面板安装wordpress
  • Coinbase Launchpad 上线:项目方如何借势打造更强的发币策略?
  • 如何向百度举报网站cms企业网站源码
  • 网站请人做的 域名自己注册的 知道网站后台 怎么挂自己的服务器做网站的费用进什么科目
  • 网站建设源文件wordpress qiniu-uploader 使用
  • 网站备案所需材料wordpress 主题汉化
  • 自己电脑做电影网站tomcat做网站
  • Linux学习:进程的控制
  • 【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 6
  • 界面美观和可用性冲突时怎么办
  • 做网站能自己找服务器吗基础型网站价格
  • 网站建设哪家最专业2021网页游戏
  • 营销网站建设多少钱网站建设分享
  • 模板网站建设清单湘潭做网站广告的公司
  • 【SOMEIP】【R24-11】【需求翻译】[RS_SOMEIP_00005]-[RS_SOMEIP_00007]
  • 在安卓源码编译中,如何修改配置文件来增加L2TP功能
  • Netty详解-02
  • 快手网站题怎么做做直播哪个网站好
  • 脚本:使用AWR快照原始数据评估存储性能
  • 嵌入式C语言中指针详解
  • 网站建设要学多久wordpress能否解析万网的域名