![Nginx:nginx.service 任务失败](https://linux22.com/image/743685/Nginx%EF%BC%9Anginx.service%20%E4%BB%BB%E5%8A%A1%E5%A4%B1%E8%B4%A5.png)
Apache
几天前安装完 Web 服务器后,我刚刚Nginx
在 Ubuntu 本地计算机上安装了 Web 服务器,以便设置反向代理服务器。但是当我尝试Nginx
通过在终端中运行以下命令来启动服务器时
systemctl start nginx
我收到以下错误
nginx.service 的作业失败,因为控制进程退出并显示错误代码。
详情请参阅“systemctl status nginx.service”和“journalctl -xe”。
Nginx
我尝试通过运行以下命令来检查服务状态
systemctl status nginx.service
但我收到以下回复
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
Active: failed (Result: exit-code) since Thu 2019-10-10 12:39:18 WAT; 16s ago
Docs: man:nginx(8)
Process: 6501 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code
Process: 6500 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process
我曾尝试修复该问题,但似乎没有取得任何进展。
我需要一些帮助。
答案1
问题的原因如下,我已经安装了 Web 服务器并且正在本地机器上Apache
积极监听端口。80
Apache
和Nginx
是两大开源高性能 Web 服务器,能够处理各种工作负载,满足现代 Web 需求。但是,Apache
主要用作 HTTP 服务器,而Nginx
是高性能异步 Web 服务器和反向代理服务器。
无法Nginx
启动是因为Apache
已经在监听端口 80 作为其默认端口,这也是 的默认端口Nginx
。
一快速解决方法可以Apache
通过运行以下命令来停止服务器
systemctl stop apache2
systemctl status apache2
Nginx
然后通过运行以下命令启动服务器
systemctl stop nginx
systemctl status nginx
但是,当我们尝试Apache
再次启动服务器时,同样的问题会再次出现,因为它们都使用端口80
作为默认端口。
以下是我修复的方法
运行以下命令在 Nano 编辑器中打开 Nginx 的默认配置文件
sudo nano /etc/nginx/sites-available/default
当文件在 Nano 编辑器中打开时,向下滚动并将默认服务器端口更改为您选择的任何端口。对我来说,我选择将其更改为端口85
# Default server configuration
#
server {
listen 85 default_server;
listen [::]:85 default_server;
另外,向下滚动并将虚拟主机端口更改为您选择的任何端口。对我来说,我还选择将其更改为端口85
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
# server {
# listen 85;
# listen [::]:85;
然后按键盘上的退出文件
Ctrl + X
然后按是保存更改。
就这样。
我希望这有帮助