登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置 ...
轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置
[ 复制链接 ]
亢安芙
2025-6-8 12:45:55
注:这是对我以前博客进行优化后再次发布的,博客中的截图为以前的。原博客已删除。
如何安装nginx
nginx是一款开源、高性能的Web和反向代理服务器,支持HTTP、HTTPS、SMTP、POP3和IMAP协议。由于其轻量级、资源占用少和强大的并发能力,nginx广泛用于多种场景。本文将介绍如何在CentOS和Ubuntu系统上安装nginx。
下载nginx
方法一:从官网下载后上传
从nginx的官方网站下载稳定版的安装包。下载地址为https://nginx.org/en/download.html。选择稳定版进行下载。
本文将使用FinalShell终端工具进行操作,当然您也可以使用其他工具。FinalShell工具的下载地址是:http://www.hostbuf.com/t/988.html。下载安装完成后,登录并连接到服务器。然后上传下载好的文件。
您可以通过命令ls查看上传的文件。
方法二:通过wget命令直接下载到Linux中
wget命令是Linux系统中用于从Web下载文件的命令行工具,支持HTTP、HTTPS及FTP协议下载文件。此外,wget提供了许多选项,例如下载多个文件、后台下载、使用代理等,非常方便。
在Linux中输入以下命令进行下载:
wget https://nginx.org/download/nginx-1.22.1.tar.gz
复制代码
该命令默认将文件下载到当前工作目录,并在下载过程中显示进度条、文件大小、下载速度等信息。
下载完成后,文件将保存在当前目录。
安装nginx
1、解压文件
使用以下命令解压下载好的文件:
# 使用 -zxf 不显示解压过程进行解压
tar -zxf nginx-1.22.1.tar.gz
复制代码
解压完成后,您将看到解压后的文件。
2、初始化配置
进入解压后的目录:
cd nginx-1.22.1/
复制代码
在CentOS上
首先,确保安装了必要的依赖包:
sudo yum install -y pcre pcre-devel zlib-devel gcc gcc-c++
复制代码
然后初始化配置:
./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/home/d/nginx/log/access.log --error-log-path=/home/d/nginx/log/error.log --http-fastcgi-temp-path=/home/d/nginx/tmp/fastcgi_tmp --http-proxy-temp-path=/home/d/nginx/tmp/proxy_tmp --http-client-body-temp-path=/home/d/nginx/tmp/client_body_temp --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --modules-path=/etc/nginx/modules --with-http_ssl_module --with-http_v2_module --user=www-data --group=www-data --with-http_dav_module
复制代码
在这段配置命令中,以下部分可以根据需要进行自定义修改:
--prefix=/var/www/html: nginx安装的根目录。可以根据需要选择不同的安装位置,如/usr/local/nginx。
--sbin-path=/usr/sbin/nginx: nginx可执行文件的位置。可以更改为其他目录,如/usr/local/sbin/nginx。
--conf-path=/etc/nginx/nginx.conf: nginx主配置文件的位置。可以自定义为其他路径,如/usr/local/nginx/conf/nginx.conf。
--http-log-path=/home/d/nginx/log/access.log: HTTP请求的访问日志文件路径。可以更改为其他位置,如/var/log/nginx/access.log。
--error-log-path=/home/d/nginx/log/error.log: 错误日志文件路径。可以自定义为其他路径,如/var/log/nginx/error.log。
--http-fastcgi-temp-path=/home/d/nginx/tmp/fastcgi_tmp: FastCGI模块使用的临时文件路径。可以修改为其他位置,如/var/cache/nginx/fastcgi_temp。
--http-proxy-temp-path=/home/d/nginx/tmp/proxy_tmp: 代理模块使用的临时文件路径。可以更改为其他位置,如/var/cache/nginx/proxy_temp。
--http-client-body-temp-path=/home/d/nginx/tmp/client_body_temp: 存储HTTP请求主体的临时文件路径。可以自定义为其他路径,如/var/cache/nginx/client_body_temp。
--lock-path=/var/lock/nginx.lock: nginx的锁文件路径。可以修改为其他位置,如/var/run/nginx.lock。
--pid-path=/var/run/nginx.pid: 存储nginx进程ID的文件路径。可以自定义为其他路径,如/usr/local/nginx/logs/nginx.pid。
--modules-path=/etc/nginx/modules: nginx模块的安装路径。可以根据需要更改为其他目录,如/usr/local/nginx/modules。
--user=www-data: 运行nginx进程的系统用户。可以修改为系统中的其他用户,如nginx。
--group=www-data: 运行nginx进程的系统用户组。可以自定义为系统中的其他用户组,如nginx。
其他参数如--with-pcre、--with-http_ssl_module、--with-http_v2_module、--with-http_dav_module是功能启用选项,通常不需要修改。根据具体需求,可以启用或禁用这些模块。
如果遇到以下错误提示,请安装相应的依赖包。未出现错误提示则直接跳过此部分。
错误提示:error: the HTTP rewrite module requires the PCRE library
解决方案:
sudo yum install -y pcre pcre-devel
复制代码
错误提示:error: Invalid C++ compiler or C++ compiler flags
解决方案:
sudo yum install -y gcc gcc-c++
复制代码
错误提示:error: the HTTP gzip module requires the zlib library
解决方案:
sudo yum install -y zlib-devel
复制代码
安装依赖完成后,再次执行初始化配置命令。
在Ubuntu上
在Ubuntu中,首先安装以下依赖:
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev -y
复制代码
然后进行配置:
./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/home/d/nginx/log/access.log --error-log-path=/home/d/nginx/log/error.log --http-fastcgi-temp-path=/home/d/nginx/tmp/fastcgi_tmp --http-proxy-temp-path=/home/d/nginx/tmp/proxy_tmp --http-client-body-temp-path=/home/d/nginx/tmp/client_body_temp --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --modules-path=/etc/nginx/modules --with-http_ssl_module --with-http_v2_module --user=www-data --group=www-data --with-http_dav_module
复制代码
3、编译nginx
使用以下命令编译nginx:
make
复制代码
编译过程中可能需要一些时间,请耐心等待。
4、执行安装操作
编译完成后,执行以下命令安装nginx:
make install
复制代码
安装完成后,您将看到相关的提示信息。
5、运行nginx
查找nginx的安装目录:
whereis nginx
复制代码
进入安装目录:
cd /usr/local/nginx
复制代码
执行启动命令:
./sbin/nginx
复制代码
使用以下命令查看启动结果:
ps -ef | grep nginx
复制代码
如果启动成功,您将看到相关进程信息。
在浏览器中输入服务器地址,即可访问nginx默认页面。
注:nginx默认使用80端口,请确保服务器已放行该端口。
配置开机自启
创建自启脚本
进入到系统服务目录:
cd /etc/systemd/system
复制代码
创建并编辑脚本文件(没有vim也可以使用vi代替):
vim nginx.service
复制代码
文件内容如下:
[Unit]
# 服务的简要描述,用于显示服务的名称或用途
Description=nginx service
# 指定该服务在网络服务启动后启动
After=network.target
[Service]
# 服务类型为forking,表示服务进程会派生一个子进程进行实际工作
Type=forking
# 启动Nginx服务的命令路径
ExecStart=/usr/local/nginx/sbin/nginx
# 重新加载Nginx配置的命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload
# 停止Nginx服务的命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit
# 为服务提供独立的临时空间,确保服务的临时文件与系统其他部分隔离
PrivateTmp=true
[Install]
# 指定服务的目标运行级别,即在多用户模式下启动
WantedBy=multi-user.target
复制代码
配置说明:
Description
: 自定义服务的描述。
After
: 可以指定其他需要的服务目标,确保服务在相关服务之后启动。
ExecStart
: 根据nginx的实际安装路径修改。
ExecReload
: 根据nginx的实际安装路径修改。
ExecStop
: 根据nginx的实际安装路径修改。
WantedBy
: 可以修改为其他目标,如graphical.target,根据系统的运行级别需求进行调整。
设置开机自启
systemctl enable nginx.service
复制代码
systemctl其他常用命令
启动服务
systemctl start nginx.service
复制代码
重启服务
systemctl restart nginx.service
复制代码
停止服务
systemctl stop nginx.service
复制代码
查看服务状态
systemctl status nginx.service
复制代码
关闭服务
systemctl disable nginx.service
复制代码
nginx基础配置
nginx是一款开源、高性能、高可靠的Web和反向代理服务器,支持热部署。它还提供IMAP/POP3/SMTP服务,支持不间断运行和热更新。nginx占用内存少、并发能力强,且可以免费商业化使用,配置简单。以下是nginx.conf文件的简单配置示例:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
# server_name 应与443端口一致
server_name domain.com;
# 使用rewrite实现强制https
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name domain.com;
ssl_certificate crt格式文件;
ssl_certificate_key key格式文件;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
# 代理路径
proxy_pass http://127.0.0.1:8090;
}
}
}
复制代码
配置说明:
worker_processes: 定义nginx运行的进程数量。根据服务器的硬件资源进行调整。
worker_connections: 每个进程最大连接数。可以根据需求增加,以提升并发性能。
server_name: 配置服务器的域名或IP地址。
rewrite: 将所有HTTP请求重定向到HTTPS,确保数据传输安全。
ssl_certificate 和 ssl_certificate_key: 分别指定SSL证书文件和密钥文件的路径,用于启用HTTPS。
proxy_pass: 配置反向代理,将请求转发到指定的后端服务器。
常用的优化配置:
开启Gzip压缩
: 减少传输数据量,提升加载速度。
http {
gzip on;
gzip_types text/plain application/xml;
}
复制代码
启用缓存
: 提升响应速度和服务器性能。
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
}
复制代码
希望这篇博客能帮助您在CentOS和Ubuntu系统上顺利安装并配置nginx。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
亢安芙
2025-6-8 12:45:55
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
猷咎
9988
5
凶契帽
9988
6
接快背
9988
7
氛疵
9988
8
恐肩
9986
9
虽裘侪
9986
10
里豳朝
9986
查看更多