热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nginx启动命令_Linux基础命令《下》

上一篇讲解了nginx的四种安装方式,同样穿插着讲了一些常用命令。Nginx默认的监听端口是80.那么我们给他设置成81端口该如何设置?因为是好几天前安
6714cec475b45ad5310d79ee6c4c6b4c.png

上一篇讲解了nginx的四种安装方式,同样穿插着讲了一些常用命令。

Nginx默认的监听端口是80. 那么我们给他设置成81端口该如何设置?

因为是好几天前安装的nginx了,此时已经忘记nginx安装在什么地方了,也忘记配置文件在什么地方了,那么我们可以使用 find命令来查找。

find / -name nginx find命令就是查询文件 / 就是要查找的目录 -name 表示要查找的是文件名 nginx 值得是要查的文件名字

a05f5929e11f5756d6a8d5f5f76decd6.png

可以看到 /usr/bin/下有nginx的执行程序,那么我们也肯定安装了nginx。

那再去查询一下配置文集所在的位置

find / -name nginx.conf nginx配置文件默认为nginx.conf

1ca2a81bf0dcc12c3ec32eb1b1219218.png

可以看到配置文件在 /usr/local/conf/nginx.conf

下来修改nginx的配置,去修改端口号,以及启动所用的用户等,本篇文章不会详细的介绍nginx的一些配置,只会讲一些会用到本章所讲命令而设置到的配置。

打开配置文件, vim /usr/local/conf/nginx.conf

fc5e5567a3aeaace2aa592261a056ff6.png

user nobody; 指的是用 nobody用户启动,我们修改成 nginx,并且去掉注释。

即 user nginx;

access_log logs/access.log main; 用户的访问日志所在的位置。我们自定义目录,就放在 /root/nginxlog 下吧

即 access_log /root/nginxlog/access.log;

手动创建目录 mkdir /root/nginxlog

57947f9e98426fe0a8055d9c1934e22f.png

listen 80; 监听在80端口,这个我们改成 81端口即可。

即 listen 81;

:wq 保存退出。

更改后的配置如下:

165e2f0048c7101ee614202e928d7019.png

然后我们来启动nginx。

使用命令来启动nginx,即 nginx -c /usr/local/conf/nginx.conf nginx命令 -c 后面跟配置文件路径

上面我们知道nginx执行程序,在 /usr/bin下。所以我们的启动命令为: /usr/bin/nginx -c /usr/local/conf/nginx.conf

765e1b886aa238b8dd153733ece47a0f.png

看到第二行有错误。

这说明我们的nginx这个用户是不存在的。

可以验证一下,使用 id nginx

9fea486954d0d4e3eb3e4de467dbe20f.png

那么我们来创建这个nginx用户。

命令为 useradd nginx

再次使用 id nginx查看,发现现在已经有这个用户了。

180a8a60dc9d8e93c9afe1bf1946f49a.png

那我们再次启动看看。可以看到启动成功了

可以看到已经监听在了81端口了。使用 http://192.168.1.30:81 访问试试。

80665e1f57cd658ceb4e814464f41040.png
32e2393c3a409dc86c99843f45b9eaf6.png

上面的 ss -tnlp 命令用来显示所有本机监听的端口的

可以看到我们在81端口也访问到nginx了。之前是80端口。

看一下之前设置的日志目录是否有日志产生。

ecb6a0b614d35992ac68bc8f603130ed.png

可以看到已经有日志产生了。

我们上面是通过root用户启动的nginx,可以查看进程验证 ps -ef | grep nginx

647d2ca9e58e486d996c10abc57c3ca3.png

那么想用我们创建的用户nginx启动呢,就需要先切换到该用户下了,然后再执行启动命令了。

切换用户命令 su - nginx

7c27955d622f1a6729ea3bfa4e7054a2.png

然后再使用 /usr/bin/nginx -c /usr/local/conf/nginx.conf 启动。

在启动之前,我们应该先切换到root目录下把nginx先关闭掉。

CTRL + D 退出当前用户,就到root用户了。

bde8787224de5a2a5741e8f0e4f88670.png

使用 ps -ef | grep nginx 查看nginx的进程,进程ID有:10145 10146

使用 kill -9 pid 杀掉进程

再使用 ps -ef | grep nginx 已经没有了。

3c23800a0298f426c25f048169e6a836.png

再切换到nginx用户去启动nginx。

6e864fefc5f31d956d948b9af7e4f162.png

发现启动保存了,有2个文件没有权限,那么我们看一下这2个文件都是什么权限

因为nginx不能查看这些文件的权限,那么我们依旧使用 CTRL + D 退到root用户。

837fbab1248c556c5cd37ee6c3adc8df.png

可以看到,这2个的属主和属组都是root,所以nginx没有权限访问。

所以我们需要用root用户给第一文件夹 /root/nginxlog/ 和 /usr/local/logs/error.log 添加nginx为属主和属组。

命令是:

chown nginx:nginx -R /root/nginxlog

chown nginx:nginx -R /usr/local/logs/error.log

c16c86aa63a8be2def8f207ab07c3516.png

添加权限以后再启动试试。

bd6f362e34da082dc3b03aefbeb17315.png

发现还是不行,因为 access.log 是在 root的家目录(/root)下所以就算 access.log文件有权限,但是没有/root目录的权限也是不行的。

所以我们要给access.log换一个目录,换到nginx的家目录下(/home/nginx/access.log)

当然nginx用户是没有权限去剪贴文件的,所以还需要退到root用户来操作, CTRL+D

切回到root用户后执行命令:mv /root/nginxlog /home/nginx/

fbff0a51d89259f158a1494a5dbbef86.png

移动完成后,不要忘记修改nginx的配置文件,因为目前nginx的配置文件是指向 /root/nginxlog/access.log的,我们需要修改指向到/home/nginx/nginxlog/access.log

ac58ee94b6830511c40ef135074d0b3e.png

:wq保存退出,再次 su 到 nginx用户。 su nginx

d208f34a96ca0ab5e0a774fd7e367dcc.png

再次启动,发现没有报文件权限的错误的,但是又失败了,说不能监听81端口,又没有权限,这是怎么回事呢?

那是因为:Linux只有root用户可以使用1024一下的端口

那我们就再次修改一下端口,修改为8080端口去启动、

修改配置文件呢,还是需要退到root用户下去操作,为了方便,我们退到root目录后,直接给配置文件nginx用户的权限,这样以后nginx用户也是可以直接去修改配置文件了。

CTRL + D 退到root, 再 chown nginx:nginx /usr/local/conf/nginx.conf 给配置文件 nginx为属组和属主

37775d56a8c3547de65c951b1b269c92.png

修改端口为 8080 后再次启动尝试。

f847f63a8cea57fb075f3f9730bfc019.png
3dcf33427032f26ce495949fb7b0b2dd.png

启动又是pid没有权限,那么大家应该很懂了吧。没有就用root用户给赋予权限。

e643856d31fd9a2a4b089ee62a47b030.png

再切换到nginx用户去启动:

可以看到虽然启动有警告,但是不影响启动,已经成功了,端口也监听成功了。

419ee07a37547557d4b3474dfd9cb408.png

那我们再去 http://192.168.1.30:8080 访问。

bfa1646ba0781c44412bddc943ca0cd5.png

好了,今天的文章到此结束了。

总结:

使用到的新命令:

exit / :wq :退出当前用户

useradd :创建用户

chown :赋予用户权限

su : 切换到一个用户

find : 用来查找文件 (更多使用以后碰到再讲)

ss -tnlp : 查看监听端口

感谢大家阅览

看更多内容请关注微信公众号:程序猿面试大全

7bfde2fef4cff96d21bfdc33f33854f1.png



推荐阅读
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 对于希望在未越狱的iOS设备上修改Hosts文件的苹果用户来说,了解文件的具体位置和操作步骤至关重要。本文将详细介绍如何通过安装最新版本的iTunes来实现这一目标,并提供实用的操作指南,帮助用户轻松完成Hosts文件的编辑。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 本文提供了详细的 Filebeat 部署指南,涵盖了解压安装包、配置文件编辑以及启动服务等关键步骤。具体操作包括使用 `tar -zxvf filebeat-6.1.1-linux-x86_64.tar.gz` 解压安装包,并通过 `vi /home/elk/filebeat-6.4.2-linux/filebeat.yml` 编辑配置文件。此外,文章还介绍了最佳实践,帮助用户确保 Filebeat 的高效运行和数据传输的可靠性。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • Linux基础知识:Vi与Vim编辑器详解
    Linux基础知识:Vi与Vim编辑器详解 ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 在CentOS上部署并使用FFmpeg多媒体处理工具
    最近在进行音频处理时需要用到FFmpeg,本文将详细介绍如何在CentOS系统上部署并使用这一强大的多媒体处理工具。首先,从官方网站下载FFmpeg的最新版本,然后通过Xftp工具将下载的压缩包(如ffmpeg-4.3.1.tar.xz)传输到服务器上。接下来,解压文件并按照官方文档进行编译安装。安装完成后,可以通过命令行工具验证FFmpeg是否成功安装,并开始进行多媒体文件的转换和处理。此外,文章还将介绍一些常用的FFmpeg命令和参数,帮助用户快速上手。 ... [详细]
author-avatar
台湾金门高粱酒业集团股份公司
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有