前言
大家好,我是老马。很高兴碰到你。
我们为 java 开发者实现了 java 版本的 nginx
https://github.com/houbb/nginx4j
如果你想知道 servlet 如何处理的,可以参考我的另一个项目:
手写从零实现浅易版 tomcat minicat
手写 nginx 系列
如果你对 nginx 原理感兴趣,可以阅读:
从零手写实现 nginx-01-为什么不能有 java 版本的 nginx?
从零手写实现 nginx-02-nginx 的焦点能力
从零手写实现 nginx-03-nginx 基于 Netty 实现
从零手写实现 nginx-04-基于 netty http 出入参优化处理
从零手写实现 nginx-05-MIME范例(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展范例)
从零手写实现 nginx-06-文件夹自动索引
从零手写实现 nginx-07-大文件下载
从零手写实现 nginx-08-范围查询
从零手写实现 nginx-09-文件压缩
从零手写实现 nginx-10-sendfile 零拷贝
从零手写实现 nginx-11-file+range 合并
从零手写实现 nginx-12-keep-alive 连接复用
环境说明
本地 windows 使用 WSL
安装预构建的 Ubuntu 包
NGINX 为以下 Ubuntu 操作系统提供包:
版本代号支持的平台20.04focalx86_64, aarch64/arm64, s390x22.04jammyx86_64, aarch64/arm64, s390x22.10kineticx86_64, aarch64/arm6423.04lunarx86_64, aarch64/arm64可以从以下位置安装该包:
- 默认的 Ubuntu 存储库。这是最快的方法,但通常提供的包已过时。
- nginx.org 上的官方存储库。第一次必须设置 apt-get 存储库,但之后提供的包始终是最新的。
从 Ubuntu 存储库安装预构建的 Ubuntu 包
- sudo apt-get install nginx
复制代码 日志如下:- nginx version: nginx/1.18.0 (Ubuntu)
复制代码 直接访问
- $ curl http://localhost
- <!DOCTYPE html>
- <html>
- <head>
- <title>Welcome to nginx!</title>
- </head>
- <body>
- <h1>Welcome to nginx!</h1>
- <p>If you see this page, the nginx web server is successfully installed and
- working. Further configuration is required.</p>
- <p>For online documentation and support please refer to
- <a target="_blank" href="http://nginx.org/">nginx.org</a>.<br/>
- Commercial support is available at
- <a target="_blank" href="http://nginx.com/">nginx.com</a>.</p>
- <p><em>Thank you for using nginx.</em></p>
- </body>
- </html>
复制代码 常见操作下令
1. 查看状态
查看 Nginx 状态(检查是否正在运行):- sudo systemctl status nginx
复制代码 如下:- nginx.service - A high performance web server and a reverse proxy server
- Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
- Active: active (running) since Sat 2024-05-11 10:38:03 CST; 4min 2s ago
- Docs: man:nginx(8)
- Process: 1537 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
- Process: 1538 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
- Main PID: 1645 (nginx)
- Tasks: 17 (limit: 9362)
- Memory: 18.0M
- CGroup: /system.slice/nginx.service
- ├─1645 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
- ├─1648 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1649 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1650 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1651 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1652 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1653 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1654 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1655 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1656 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1657 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1658 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1659 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1660 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1661 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- ├─1662 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- └─1663 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
- May 11 10:38:03 d systemd[1]: Starting A high performance web server and a reverse proxy server...
复制代码 2. 启停 nginx
启动 Nginx
- sudo systemctl start nginx
复制代码 可以状态确认:- $ sudo systemctl status nginx
- $ sudo systemctl status nginx
- ● nginx.service - A high performance web server and a reverse proxy server
- Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
- Active: active (running) since Sat 2024-05-11 10:44:40 CST; 11s ago
- Docs: man:nginx(8)
- Process: 3631 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
- Process: 3632 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
- Main PID: 3633 (nginx)
- Tasks: 17 (limit: 9362)
- Memory: 14.1M
- CGroup: /system.slice/nginx.service
- ...
复制代码 停止 Nginx
- sudo systemctl stop nginx
复制代码 停止后查看状态:- $ sudo systemctl status nginx
- ○ nginx.service - A high performance web server and a reverse proxy server
- Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
- Active: inactive (dead) since Sat 2024-05-11 10:43:42 CST; 2s ago
- Docs: man:nginx(8)
- Process: 3396 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited,>
- Main PID: 1645 (code=exited, status=0/SUCCESS)
- May 11 10:38:03 d systemd[1]: Starting A high performance web server and a reverse proxy server...
- May 11 10:38:03 d systemd[1]: Started A high performance web server and a reverse proxy server.
- May 11 10:43:42 d systemd[1]: Stopping A high performance web server and a reverse proxy server...
- May 11 10:43:42 d systemd[1]: nginx.service: Deactivated successfully.
- May 11 10:43:42 d systemd[1]: Stopped A high performance web server and a reverse proxy server.
复制代码 重启
个人理解:重启=关闭+启动- sudo systemctl restart nginx
复制代码 启动时自动运行 nginx
作用:可以让 ngix 是否在呆板重启后服务自动运行。
- 使 Nginx 在启动时自动运行:
- sudo systemctl enable nginx
复制代码 - 克制 Nginx 在启动时自动运行:
- sudo systemctl disable nginx
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |