论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
主机系统
›
linux
›
轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置 ...
轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置
农妇山泉一亩田
论坛元老
|
2024-8-3 01:33:50
|
显示全部楼层
|
阅读模式
楼主
主题
1707
|
帖子
1707
|
积分
5121
注:这是对我从前博客举行优化后再次发布的,博客中的截图为从前的。原博客已删除。
怎样安装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。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
农妇山泉一亩田
论坛元老
这个人很懒什么都没写!
楼主热帖
厉害了,腾讯云云巢荣获信通院“云原生 ...
2022 春节抖音视频红包系统设计与实现 ...
数据库概述
【Redis高手修炼之路】②Redis的五大数 ...
原型设计工具比较及实践--滴爱音乐 ...
体系集成商已死,有事烧纸:浙江着名集 ...
ABP Framework 5.3.0 版本新增功能和变 ...
OpenHarmony和HarmonyOS有什么区别?这 ...
LoRa模块无线收发通信技术详解 ...
多线程(一)-两种创建线程的方式 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
前端开发
快速回复
返回顶部
返回列表