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

Ubuntu安装Nginx详细示例

这里介绍两种安装方式
1.apt 安装 Nginx
这种安装方式非常简单,几条命令就安装好了,它会自己安装到固定的位置,自动更新,自带systemctl start nginx,因为都是自动的,它一般只能满足一些基本需求,所以开发的话更推荐第二种
先看下这种简单的安装方式

sudo apt update
sudo apt install nginx -y

上面两个命令就安装完成了,我们查看一下是否安装成功,如果看到 “active (running)”,就说明启动成功了

sudo systemctl status nginx

Nginx 默认会监听 80 端口,我们给它改一下

sudo nano /etc/nginx/sites-available/default

找到下面的内容

listen 80 default_server;
listen [::]:80 default_server;

改成8080或其它的

listen 8080 default_server;
listen [::]:8080 default_server;

然后检查配置是否正确

sudo nginx -t

看到下面的就是没问题

nginx: configuration file /etc/nginx/nginx.conf test is successful

重新加载配置

sudo systemctl restart nginx

访问一下试试,如果访问不了检查一下你服务器的安全组是不是开放了对应的端口,也可以直接在服务器上试下 curl http://127.0.0.1:8080 看能不能请求到 nginx 的页面

http://你的服务器IP:8080

这里特别注意,现在的新服务器都是需要备案的,否则连 80 443 8080 这些常规端口都访问不了(开策略安全组都没用!!!),这个大家自己联系自己服务器的运营商
———————————————————————————————————————————————————————
下面我们再来看下第二种通过安装包的方式安装,这个稍微复杂,但是优点就是使用起来更加灵活
,也能自定义更多的配置

第一步先需要安装依赖工具

sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

第二步去下载源码解压
这里可以去官网下最新的,也可以直接用下面的命令下,我这里就直接用这个命令下的 nginx官网

# 我们把源码放在 /usr/local/src下面
cd /usr/local/src
# 下载 nginx1.24
sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz
# 解压
sudo tar -zxvf nginx-1.24.0.tar.gz
# 进入解压后的目录
cd nginx-1.24.0

第三步编译并指定安装路径 /usr/local/nginx

# 设置安装路径
sudo ./configure --prefix=/usr/local/nginx
# 编译
sudo make
# 安装
sudo make install

第四步启动 nginx

sudo /usr/local/nginx/sbin/nginx

一样的我们访问 http://你的服务器IP:80 就可以看到默认的 nginx 页面,如果想修改端口去下面文件修改

sudo nano /usr/local/nginx/conf/nginx.conf
# 找到listen  80 改成你想要的端口
listen 8808;

要是访问不了还是去看下服务器安全组是否开放了 8808 端口

在这里插入图片描述
最后我们还需要手动给它创建 systemd
先创建一个nginx服务

sudo vi /etc/systemd/system/nginx.service

把下面的内容放进去,注意自己的安装目录位置

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target

重新加载 systemd 配置

sudo systemctl daemon-reexec
sudo systemctl daemon-reload

设置为开机自启

sudo systemctl enable nginx

reboot 重启服务器测试一下 (注意:生产环境或服务器上有其它服务慎用,reboot重启服务器!!!)
如果不重启服务器也建议手动杀死nginx进程再进行下面的命令测试,因为我在测试的时候报错了,而且我先执行了 sudo systemctl stop nginx 用来关闭我上面安装时手动启动的 nginx,但是似乎没有关闭成功,直接 ps -ef|grep nginx 找到之前手动启动的进程,然后 kill -9 进程ID 杀掉吧

root@ecm-74de:/usr/local/src/nginx-1.24.0# sudo systemctl start nginx
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.

然后我们就可以使用下面这些命令了

# 启动
sudo systemctl start nginx
# 重启
sudo systemctl restart nginx
# 停止
sudo systemctl stop nginx
# 查看状态,异常的时候这个命令非常有用
sudo systemctl status nginx
http://www.xdnf.cn/news/6759.html

相关文章:

  • mobile预览
  • 初识仓颉编程语言:高效、简洁与创新的编程选择
  • Unity3D 游戏编程内存优化技巧
  • 在MYSQL中导入cookbook.sql文件
  • Java线程池(Thread Pool)性能优化解析
  • 基于摩尔信使MThings的Modbus协议转换效率优化实践
  • 原生小程序+springboot+vue+协同过滤算法的音乐推荐系统(源码+论文+讲解+安装+部署+调试)
  • 报表控件stimulsoft教程:如何在报表和仪表板中创建热图
  • 兰亭妙微设计:为生命科技赋予人性化的交互语言
  • 相机Camera日志分析之九:高通相机Camx 基于预览1帧的ConfigureStreams二级日志分析详解
  • Python OOP核心技巧:如何正确选择实例方法、类方法和静态方法
  • Redis(三) - 使用Java操作Redis详解
  • 非国产算力DeepSeek 部署中的常见问题及解决方案
  • git 修改一个老commit,再把修改应用到所有后续的 commit
  • Go的单测gomock及覆盖率命令
  • 洛谷 P1375:小猫 ← 预处理模逆元 + 卡特兰数
  • nacos配置文件快速部署另一种方法
  • 第十天——贪心算法——深度总结
  • 提高表达能力
  • FC7300 DMA MCAL 配置引导
  • idea 中引入python
  • 无人设备遥控器的信号传输与抗干扰技术
  • 动态图标切换的艺术
  • 软件架构风格系列(1):分层架构如何让系统“稳如泰山”?
  • AI 笔记 -基于retinaface的FPN上采样替换为CARAFE
  • Android framework 中间件开发(一)
  • 149.WEB渗透测试-MySQL基础(四)
  • 【暗光图像增强】【基于CNN的方法】2020-AAAI-EEMEFN
  • 显性知识的主要特征
  • math.js 加/减/乘/除 使用