欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > Web技术与Nginx网站环境部署

Web技术与Nginx网站环境部署

2025/5/9 10:44:44 来源:https://blog.csdn.net/YUNYINGXIA/article/details/147591409  浏览:    关键词:Web技术与Nginx网站环境部署

目录

一、Web 基础概念​

1.1 Web 基本组成​

1.2 HTTP 协议​

二、常见 Web 服务与命令​

2.1 Apache​

2.2 Nginx​

2.3 域名解析命令​

三、服务器部署与配置​

3.1 服务器环境搭建​

3.2 虚拟主机配置​

四、Nginx 安装相关命令​

4.1 在 CentOS 系统安装​

安装 Nginx,执行命令:​

4.2 在 Ubuntu 系统安装​

五、Nginx 服务控制命令​

5.1 启动 Nginx 服务​

5.2 停止 Nginx 服务​

5.3 重启 Nginx 服务​

5.4 重新加载配置​

5.5 查看 Nginx 服务状态​

六、Nginx 配置文件操作命令​

6.1 主配置文件​

6.2 虚拟主机配置文件​

6.3 检查配置文件语法​

七、Nginx 日志管理命令​

7.1 查看访问日志​

7.2 查看错误日志​

7.3 日志切割​

八、Nginx 性能与安全优化相关命令​

8.1 性能优化​

8.2 安全优化​

9.1 性能优化​

9.2 安全优化​

十、日志管理​

10.1 日志查看​


一、Web 基础概念​

1.1 Web 基本组成​

Web 由Web 服务器、客户端浏览器和通信协议组成。Web 服务器用于存储和处理网页资源,如 Apache、Nginx;客户端浏览器负责解析并展示网页内容,像 Chrome、Firefox;通信协议则保障数据在服务器和客户端间的传输,最常用的是 HTTP/HTTPS 协议。​

1.2 HTTP 协议​

HTTP(HyperText Transfer Protocol,超文本传输协议)是 Web 的核心协议,用于客户端和服务器之间传输数据。常见的 HTTP 请求方法有:​

  • GET:从服务器获取资源,请求参数包含在 URL 中,例如Example Domain。​
  • POST:向服务器提交数据,常用于表单提交,请求参数放在请求体中。​
  • PUT:更新服务器上的资源。​
  • DELETE:删除服务器上的资源。​

HTTP 响应状态码:​

  • 200:请求成功,服务器已成功处理请求并返回数据。​
  • 404:请求的资源不存在,客户端可能输入了错误的 URL。​
  • 500:服务器内部错误,通常是服务器端代码出现问题。​

二、常见 Web 服务与命令​

2.1 Apache​

Apache 是世界使用排名靠前的 Web 服务器软件,具有稳定、功能丰富的特点。​

  • 安装:在 CentOS 系统中,使用yum install httpd命令安装;在 Ubuntu 系统中,使用sudo apt-get install apache2命令安装。​
  • 启动、停止、重启:​
  • CentOS:​
  • 启动:systemctl start httpd​
  • 停止:systemctl stop httpd​
  • 重启:systemctl restart httpd​
  • Ubuntu:​
  • 启动:sudo service apache2 start​
  • 停止:sudo service apache2 stop​
  • 重启:sudo service apache2 restart​
  • 配置文件:主配置文件为/etc/httpd/conf/httpd.conf(CentOS)或/etc/apache2/apache2.conf(Ubuntu),可在其中设置服务器端口、虚拟主机等。​

2.2 Nginx​

Nginx 是一款高性能的 HTTP 和反向代理服务器,以占用内存少、并发能力强著称。​

  • 安装:在 CentOS 系统中,先安装依赖包yum install epel-release,再使用yum install nginx安装;在 Ubuntu 系统中,使用sudo apt-get install nginx安装。​
  • 启动、停止、重启:​
  • CentOS:​
  • 启动:systemctl start nginx​
  • 停止:systemctl stop nginx​
  • 重启:systemctl restart nginx​
  • Ubuntu:​
  • 启动:sudo service nginx start​
  • 停止:sudo service nginx stop​
  • 重启:sudo service nginx restart​
  • 配置文件:主配置文件为/etc/nginx/nginx.conf,虚拟主机配置文件一般放在/etc/nginx/conf.d/目录下。​

2.3 域名解析命令​

  • nslookup:用于查询域名对应的 IP 地址,例如nslookup example.com,会返回该域名的 IP 地址等信息。​
  • dig:功能比 nslookup 更强大,可用于查询各种 DNS 记录。如查询example.com的 MX 记录,使用dig MX example.com。

 

三、服务器部署与配置​

3.1 服务器环境搭建​

  1. 安装操作系统:常见的服务器操作系统有 CentOS、Ubuntu、Debian 等,可根据需求选择安装。​
  1. 安装 Web 服务器:如前文所述安装 Apache 或 Nginx。​
  1. 安装数据库:常用的 Web 数据库有 MySQL、MariaDB 等。以 MySQL 为例,在 CentOS 中使用yum install mysql-server安装,在 Ubuntu 中使用sudo apt-get install mysql-server安装。安装后使用systemctl start mysqld(CentOS)或sudo service mysql start(Ubuntu)启动服务。​

3.2 虚拟主机配置​

虚拟主机可以在一台物理服务器上运行多个网站。

 

四、Nginx 安装相关命令​

4.1 在 CentOS 系统安装​

  1. 首先安装 EPEL(Extra Packages for Enterprise Linux)仓库,它提供了许多额外的软件包,使用命令:​

yum install epel-release​

  1. 安装 Nginx,执行命令:​

yum install nginx​

4.2 在 Ubuntu 系统安装​

直接通过 APT 包管理器安装,命令如下:​

sudo apt-get update​

sudo apt-get install nginx​

五、Nginx 服务控制命令​

5.1 启动 Nginx 服务​

  • CentOS:​

systemctl start nginx​

  • Ubuntu:​

sudo service nginx start​

5.2 停止 Nginx 服务​

  • CentOS:​

systemctl stop nginx​

  • Ubuntu:​

sudo service nginx stop​

5.3 重启 Nginx 服务​

当修改了 Nginx 配置文件后,需要重启服务使配置生效。​

  • CentOS:​

systemctl restart nginx​

  • Ubuntu:​

sudo service nginx restart​

5.4 重新加载配置​

如果不想中断正在处理的请求,只是重新加载配置文件,可以使用reload命令。​

  • CentOS:​

systemctl reload nginx​

  • Ubuntu:​

sudo service nginx reload​

5.5 查看 Nginx 服务状态​

  • CentOS:​

systemctl status nginx​

  • Ubuntu:​

sudo service nginx status​

六、Nginx 配置文件操作命令​

6.1 主配置文件​

Nginx 的主配置文件为/etc/nginx/nginx.conf,可以使用文本编辑器如vim打开进行编辑:​

sudo vim /etc/nginx/nginx.conf​

在该文件中,可以设置全局参数,如工作进程数(worker_processes)、事件驱动模型参数等。​

6.2 虚拟主机配置文件​

虚拟主机配置文件一般放在/etc/nginx/conf.d/目录下。​

  1. 创建虚拟主机配置文件:例如创建一个名为example.com.conf的配置文件,命令如下:​

sudo touch /etc/nginx/conf.d/example.com.conf​

sudo vim /etc/nginx/conf.d/example.com.conf​

  1. 编辑虚拟主机配置:示例配置如下:​

server {​

listen 80;​

server_name example.com www.example.com;​

root /var/www/html/example;​

index index.html index.htm;​

access_log /var/log/nginx/example.com_access.log;​

error_log /var/log/nginx/example.com_error.log;​

}​

上述配置指定了监听端口为 80,域名(server_name),网站根目录(root),默认首页文件(index)以及访问日志和错误日志的存放路径。​

6.3 检查配置文件语法​

在重启或重新加载 Nginx 服务之前,最好先检查配置文件是否存在语法错误,使用命令:​

sudo nginx -t​

如果配置文件语法正确,会输出nginx: configuration file /etc/nginx/nginx.conf test is successful;若存在错误,则会提示具体的错误位置和信息。​

七、Nginx 日志管理命令​

7.1 查看访问日志​

Nginx 的访问日志默认位于/var/log/nginx/access.log,可以使用tail命令实时查看最新的访问记录:​

tail -f /var/log/nginx/access.log​

也可以使用grep命令过滤特定信息,例如查找来自某个 IP 地址的访问记录:​

grep "192.168.1.100" /var/log/nginx/access.log​

7.2 查看错误日志​

错误日志默认位于/var/log/nginx/error.log,当网站出现问题时,通过查看错误日志可以快速定位问题原因:​

tail -f /var/log/nginx/error.log​

同样可以使用grep命令进行过滤,比如查找包含404错误的日志记录:​

grep "404" /var/log/nginx/error.log​

7.3 日志切割​

随着时间推移,日志文件会越来越大,为了便于管理和提高性能,可以对日志进行切割。使用logrotate工具实现日志切割,先安装logrotate(一般系统默认已安装),然后在/etc/logrotate.d/目录下创建一个 Nginx 的日志切割配置文件,例如nginx:​

sudo vim /etc/logrotate.d/nginx​

添加以下内容:​

/var/log/nginx/*.log {​

daily​

missingok​

rotate 7​

compress​

delaycompress​

notifempty​

create 640 nginx adm​

sharedscripts​

postrotate​

if [ -f /var/run/nginx.pid ]; then​

kill -USR1 `cat /var/run/nginx.pid`​

fi​

endscript​

}​

上述配置表示按天切割日志,保留 7 天的日志,切割后的日志进行压缩等操作。配置完成后,logrotate会按照设定的规则自动进行日志切割。​

八、Nginx 性能与安全优化相关命令​

8.1 性能优化​

  1. 调整连接数:在/etc/nginx/nginx.conf文件中,通过worker_connections参数设置每个工作进程的最大连接数,例如将其设置为 2048:​

worker_processes 4;​

events {​

worker_connections 2048;​

}​

修改后,使用systemctl reload nginx命令重新加载配置。​

2. 启用 Gzip 压缩:在nginx.conf文件中添加以下配置,开启 Gzip 压缩,减小文件传输大小,提升访问速度:​

gzip on;​

gzip_disable "msie6";​

gzip_vary on;​

gzip_proxied any;​

gzip_comp_level 6;​

gzip_buffers 16 8k;​

gzip_http_version 1.1;​

gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;​

添加完配置后,同样使用systemctl reload nginx命令使配置生效。​

8.2 安全优化​

  1. 设置防火墙规则:使用ufw(Ubuntu)或firewall-cmd(CentOS)设置防火墙,只开放 Nginx 必要的端口(80 和 443)。​
  • Ubuntu:​

sudo ufw allow 80/tcp​

sudo ufw allow 443/tcp​

sudo ufw enable​

  • CentOS:​

firewall-cmd --zone=public --add-port=80/tcp --permanent​

firewall-cmd --zone=public --add-port=443/tcp --permanent​

firewall-cmd --reload​

  1. 关闭不必要的服务和端口:使用netstat -anp命令查看服务器开放的端口和对应的进程,关闭不需要的服务,例如关闭某个非必要的监听端口:​

sudo fuser -k 端口号/tcp​

九、Web 服务器优化​

9.1 性能优化​

  • 启用 Gzip 压缩:可以减小文件大小,加快传输速度。​
  • Apache:在httpd.conf文件中添加LoadModule deflate_module modules/mod_deflate.so,并配置相关参数:​

<IfModule mod_deflate.c>​

AddOutputFilterByType DEFLATE text/plain​

AddOutputFilterByType DEFLATE text/html​

AddOutputFilterByType DEFLATE text/xml​

AddOutputFilterByType DEFLATE text/css​

AddOutputFilterByType DEFLATE application/x-javascript​

AddOutputFilterByType DEFLATE application/javascript​

DeflateCompressionLevel 9​

SetOutputFilter DEFLATE​

</IfModule>​

  • Nginx:在nginx.conf文件中添加以下配置:​

gzip on;​

gzip_disable "msie6";​

gzip_vary on;​

gzip_proxied any;​

gzip_comp_level 6;​

gzip_buffers 16 8k;​

gzip_http_version 1.1;​

gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;​

  • 调整连接数:根据服务器性能调整 Apache 或 Nginx 的最大连接数。​
  • Apache:在httpd.conf文件中,通过MaxRequestWorkers参数设置最大连接数,例如MaxRequestWorkers 200。​
  • Nginx:在nginx.conf文件中,通过worker_connections参数设置每个工作进程的最大连接数,例如worker_connections 1024;。​

9.2 安全优化​

  • 设置防火墙:使用firewall-cmd(CentOS)或ufw(Ubuntu)设置防火墙规则,只开放必要的端口,如 80(HTTP)、443(HTTPS)等。​
  • CentOS:​
  • 开启 80 端口:firewall-cmd --zone=public --add-port=80/tcp --permanent​
  • 重新加载防火墙规则:firewall-cmd --reload​
  • Ubuntu:​
  • 开启 80 端口:sudo ufw allow 80/tcp​
  • 启用防火墙:sudo ufw enable​
  • 关闭不必要的服务和端口:通过netstat -anp命令查看服务器开放的端口和进程,关闭不需要的服务。​

十、日志管理​

10.1 日志查看​

  • Nginx 日志:​
  • 访问日志默认位于/var/log/nginx/access.log,错误日志默认位于/var/log/nginx/error.log。​
  • 同样可使用tail -f和grep命令进行查看和过滤。​

10.2 日志分析​

使用工具如AWStats、GoAccess对日志进行分析,生成可视化报告,了解网站访问情况、用户来源、热门页面等信息。​

  • 安装 AWStats:在 CentOS 中使用yum install awstats安装,在 Ubuntu 中使用sudo apt-get install awstats安装。安装后需进行相关配置并生成报告。​
  • 安装 GoAccess:在 CentOS 中,先添加 GoAccess 的源,再使用yum install goaccess安装;在 Ubuntu 中使用sudo apt-get install goaccess安装。可通过goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED命令将日志生成 HTML 格式的报告。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词