Ubuntu环境下安装部署Nginx
Ubuntu环境下安装部署Nginx
本文档适用于在Ubuntu24.04系统下部署nginx
一、使用apt-get命令安装nginx
注:以下命令都是在root用户下使用
- 检查是否存在apt命令
1 | apt –version |
说明:出现版本号就说明当前环境存在apt
- 更新apt命令
1 | apt update |
- 安装nginx
1 | apt-get install nginx |
1 | nginx -v |
出现nginx版本号,即安装成功。
\5. 启动nginx
1 | systemctl start nginx |
- 查看nginx的状态
1 | systemctl status nginx |
- 安装nginx后的文件位置
- /usr/sbin/nginx:主程序
- /etc/nginx:存放配置文件
- /usr/share/nginx:存放静态文件
- /var/log/nginx:存放日志
二、 卸载上述nginx安装方式
- 先停止nginx命令
1 | systemctl stop nginx |
- 通过apt-get命令卸载nginx
1 | apt-get --purge autoremove nginx |
- 查看nginx的版本号
1 | nginx -v |
如下所示,即为卸载成功
三、 通过在安装包的方式部署nginx
- 下载nginx相关依赖包
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
- 新建nginx的安装目录
cd /opt
mkdir nginx
cd nginx
- 通过wget下载nginx安装包
1 | wget https://nginx.org/download/nginx-1.24.0.tar.gz |
- 解压nginx的安装包
- 下载的nginx是tar.gz文件
命令:tar -zvxf nginx-1.24.0.tar.gz
- 下载的nginx是zip文件
命令:unzip nginx-1.24.0.tar.gz
- 切换到解压好的nginx-1.24.0目录下
1 | nginx-1.24.0 |
- 配置
1 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module |
说明:
–prefix=/usr/local/nginx:指定安装目录为/usr/local/nginx。在编译和安装完成后,软件将被安装到该目录下.
–with-http_stub_status_module:启用 HTTP Stub Status 模块。该模块是 Nginx 的一个内置模块,用于获取 Nginx 服务器的状态信息。
–with-http_ssl_module:启用 HTTP SSL 模块。该模块使得 Nginx 支持通过 HTTPS 提供安全的加密传输。
编译
1 | make |
- 安装
1 | make install |
四、启动或关闭
- 启动Nginx
1 | #切换到nginx的安装目录 |
或
1 | /usr/local/nginx/sbin/nginxAI助手 |
- 关闭nginx
1 | /usr/local/nginx/sbin/nginx -s stopAI助手 |
或
1 | #查看Nginx的进程 |
五、访问nginx
在浏览器上面,输入当前你服务器ip+nginx的端口号,如果出现以下图片,就说明成功。
六、让主机也能连接ubuntu上的nginx
一、配置网络
确保虚拟机和本机在同一网络环境中是访问虚拟机中Nginx服务的前提。虚拟机的网络配置主要包括桥接模式和NAT模式。
桥接模式
桥接模式使虚拟机像一个独立的设备,直接连接到宿主机所在的物理网络中。这样,虚拟机将获得一个与宿主机处于同一网段的IP地址。本机可以通过此IP地址访问虚拟机中的Nginx服务。
- 选择桥接模式:打开虚拟机管理软件(如VMware、VirtualBox),找到虚拟机的网络设置选项,选择“桥接网络适配器”。
- 获取IP地址:启动虚拟机,使用命令
ifconfig
(Linux)或ipconfig
(Windows)查看虚拟机的IP地址。
NAT模式
NAT模式使虚拟机通过宿主机的网络连接上网,虚拟机和宿主机之间通过NAT(网络地址转换)进行通信。NAT模式下,虚拟机的IP地址通常是一个私有地址。
- 选择NAT模式:在虚拟机管理软件中选择“NAT网络适配器”。
- 端口转发:为了让宿主机访问虚拟机中的Nginx服务,需要配置端口转发。将宿主机的某个端口(如8080)映射到虚拟机的80端口。
二、检查防火墙
虚拟机的防火墙设置可能会阻止Nginx服务的访问,因此需要检查并配置防火墙规则。
检查防火墙状态
- Linux防火墙:使用命令
sudo ufw status
(适用于Ubuntu)或sudo firewall-cmd --state
(适用于CentOS)检查防火墙状态。 - Windows防火墙:在控制面板中打开“Windows防火墙”,查看防火墙的状态和规则。
配置防火墙规则
开放端口
:确保Nginx使用的端口(默认80端口)已开放。
- Ubuntu:使用命令
sudo ufw allow 80/tcp
开放80端口。 - CentOS:使用命令
sudo firewall-cmd --permanent --add-port=80/tcp
开放80端口,并使用sudo firewall-cmd --reload
重新加载防火墙配置。 - Windows:在防火墙设置中手动添加规则,允许80端口的TCP流量。
三、修改Nginx配置文件
Nginx的配置文件需要修改以确保其监听所有IP地址,并且可以从外部访问。
主要配置文件
Nginx的主配置文件通常位于/etc/nginx/nginx.conf
(Linux)或C:nginxconfnginx.conf
(Windows)中。
修改配置文件
打开配置文件:使用文本编辑器(如vi、nano或Notepad)打开Nginx配置文件。
监听所有IP地址
:找到server块中的listen指令,确保其监听所有IP地址,例如:
1
2
3
4
5server {
listen 80;
server_name _;
...
}也可以显式指定监听所有接口:
1
2
3
4
5server {
listen 0.0.0.0:80;
server_name _;
...
}
四、重启Nginx服务
修改配置文件后,需要重启Nginx服务以应用新的配置。
- Linux系统:
- 使用命令
sudo systemctl restart nginx
重启Nginx服务(适用于systemd管理的系统,如Ubuntu、CentOS 7及以上)。 - 使用命令
sudo service nginx restart
重启Nginx服务(适用于init.d管理的系统,如CentOS 6及以下)。
- 使用命令
- Windows系统:在命令提示符中进入Nginx的安装目录,使用命令
nginx -s reload
重启Nginx服务。
五、测试访问
完成上述步骤后,可以通过本机浏览器或命令行工具测试访问虚拟机中的Nginx服务。
浏览器访问:在浏览器地址栏中输入虚拟机的IP地址(如
http://192.168.1.100
),查看是否能看到Nginx的欢迎页面。命令行工具:使用
1
curl
命令行工具测试访问,例如:
1
curl http://192.168.1.100
六、排查常见问题
如果无法访问Nginx服务,可以根据以下常见问题进行排查:
网络连接问题
- IP地址:确认虚拟机的IP地址是否正确,确保与本机在同一网络段。
- 网络配置:检查虚拟机网络配置是否正确,是否选择了桥接模式或正确配置了NAT端口转发。
防火墙问题
- 端口开放:确认虚拟机防火墙是否开放了80端口,宿主机防火墙是否允许访问虚拟机的IP地址。
- 防火墙状态:确保防火墙处于启用状态,并且配置了正确的规则。
Nginx配置问题
- 配置文件语法:确认Nginx配置文件语法正确,可以使用命令
sudo nginx -t
(Linux)或nginx -t
(Windows)进行语法检查。 - 监听地址:确认Nginx配置文件中
listen
指令正确配置,监听所有IP地址或特定IP地址。