nginx是什么
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。
Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
开始部署
操作系统:Ubuntu
因为我们已经有nginx,所以可以先查看一下nginx状态
root@iZuf6c3gcnqmp1sehmmseiZ:/etc/nginx# 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 Mon 2022-03-14 02:22:40 CST; 1 weeks 1 days ago
Docs: man:nginx(8)
Main PID: 76359 (nginx)
Tasks: 3 (limit: 4424)
Memory: 4.4M
CGroup: /system.slice/nginx.service
├─76359 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─76360 nginx: worker process
└─76361 nginx: worker process
Mar 14 02:22:40 iZuf6c3gcnqmp1sehmmseiZ systemd[1]: Starting A high performance web server and a reverse proxy server...
Mar 14 02:22:40 iZuf6c3gcnqmp1sehmmseiZ systemd[1]: Started A high performance web server and a reverse proxy server.
卸载后重新安装一下:
sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件。
sudo apt-get purge nginx nginx-common # 卸载所有东东,包括删除配置文件。
sudo apt-get autoremove # 在上面命令结束后执行,主要是卸载删除Nginx的不再被使用的依赖包。
sudo apt-get remove nginx-full nginx-common #卸载删除两个主要的包
#开始卸载
root@iZuf6c3gcnqmp1sehmmseiZ:/etc/nginx# sudo apt-get purge nginx nginx-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libgd3 libxpm4 libxslt1.1
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
libnginx-mod-http-image-filter* libnginx-mod-http-xslt-filter* libnginx-mod-mail* libnginx-mod-stream* nginx* nginx-common* nginx-core*
0 upgraded, 0 newly installed, 7 to remove and 24 not upgraded.
After this operation, 2,134 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 116310 files and directories currently installed.)
Removing nginx (1.18.0-0ubuntu1.2) ...
Removing nginx-core (1.18.0-0ubuntu1.2) ...
Removing libnginx-mod-http-image-filter (1.18.0-0ubuntu1.2) ...
Removing libnginx-mod-http-xslt-filter (1.18.0-0ubuntu1.2) ...
Removing libnginx-mod-mail (1.18.0-0ubuntu1.2) ...
Removing libnginx-mod-stream (1.18.0-0ubuntu1.2) ...
Removing nginx-common (1.18.0-0ubuntu1.2) ...
Processing triggers for man-db (2.9.1-1) ...
(Reading database ... 116261 files and directories currently installed.)
Purging configuration files for libnginx-mod-mail (1.18.0-0ubuntu1.2) ...
Purging configuration files for libnginx-mod-http-image-filter (1.18.0-0ubuntu1.2) ...
Purging configuration files for libnginx-mod-stream (1.18.0-0ubuntu1.2) ...
Purging configuration files for nginx-common (1.18.0-0ubuntu1.2) ...
dpkg: warning: while removing nginx-common, directory '/var/www/html' not empty so not removed
dpkg: warning: while removing nginx-common, directory '/usr/share/nginx' not empty so not removed
Purging configuration files for libnginx-mod-http-xslt-filter (1.18.0-0ubuntu1.2) ...
Processing triggers for systemd (245.4-4ubuntu3.15) ...
Processing triggers for ufw (0.36-6ubuntu1) ...
#查看状态,已经卸载成功
root@iZuf6c3gcnqmp1sehmmseiZ:/etc/nginx# systemctl status nginx
Unit nginx.service could not be found.
root@iZuf6c3gcnqmp1sehmmseiZ:/etc/nginx#
开始安装
sudo apt-get install nginx
再次查看状态:
测试:
成功!
默认配置:
1 user www-data;
2 worker_processes auto;
3 pid /run/nginx.pid;
4 include /etc/nginx/modules-enabled/*.conf;
5
6 events {
7 worker_connections 768;
8 # multi_accept on;
9 }
10
11 http {
12
13 ##
14 # Basic Settings
15 ##
16
17 sendfile on;
18 tcp_nopush on;
19 tcp_nodelay on;
20 keepalive_timeout 65;
21 types_hash_max_size 2048;
22 # server_tokens off;
23
24 # server_names_hash_bucket_size 64;
25 # server_name_in_redirect off;
26
27 include /etc/nginx/mime.types;
28 default_type application/octet-stream;
29
30 ##
31 # SSL Settings
32 ##
33
34 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
35 ssl_prefer_server_ciphers on;
36
37 ##
38 # Logging Settings
39 ##
40
41 access_log /var/log/nginx/access.log;
42 error_log /var/log/nginx/error.log;
43
44 ##
45 # Gzip Settings
46 ##
47
48 gzip on;
49
50 # gzip_vary on;
51 # gzip_proxied any;
52 # gzip_comp_level 6;
53 # gzip_buffers 16 8k;
54 # gzip_http_version 1.1;
55 # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
56
57 ##
58 # Virtual Host Configs
59 ##
60
61 include /etc/nginx/conf.d/*.conf;
62 include /etc/nginx/sites-enabled/*;
63 }
64
65
66 #mail {
67 # # See sample authentication script at:
68 # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
69 #
70 # # auth_http localhost/auth.php;
71 # # pop3_capabilities "TOP" "USER";
72 # # imap_capabilities "IMAP4rev1" "UIDPLUS";
73 #
74 # server {
75 # listen localhost:110;
76 # protocol pop3;
77 # proxy on;
78 # }
79 #
80 # server {
81 # listen localhost:143;
82 # protocol imap;
83 # proxy on;
84 # }
85 #}