Ubuntu部署nginx

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	#}

域名购买/ssl证书申请

Ubuntu是一个自由开源的操作系统,其中有很多的工具和服务可以用于搭建与开发Web应用。其中,常用的Web应用栈是使用Nginx作为Web服务器,UWSGI作为应用程序服务器,Django作为Web框架,MySQL作为关系型数据库。 要安装和配置这些服务,需要进行以下步骤: 1. 安装Ubuntu操作系统,可以选择最新版本的Ubuntu LTS或者最新的Ubuntu发行版。 2. 安装Nginx服务,并配置Nginx服务器来处理并转发HTTP请求。这里可以使用apt-get install命令来安装Nginx包。 3. 安装UWSGI服务,并配置UWSGI服务器来处理Django应用程序。这里可以使用pip install命令来安装UWSGI包。 4. 安装Django,并编写一个基本的Django应用程序。然后配置UWSGI服务器以运行Django应用程序。可以使用pip install命令来安装Django包。可以使用此教程 - https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html 5. 安装MySQL数据库服务,并配置MySQL服务器以使用Django应用程序。可以使用apt-get install命令来安装MySQL包。 6. 在Django应用程序中配置MySQL数据库连接参数,并创建 MySQL数据库及表。 7. 配置Nginx服务器以使用UWSGI服务器来处理Django应用程序。可以使用上面的教程来完成这一步骤。 8. 启动Nginx和UWSGI服务器,并测试Django应用程序是否可以访问。 在进行以上的步骤时,需要注意安全措施,防止 Web 应用程序被攻击和入侵。同时,也需要进行充分的测试,保证 Web 应用程序的稳定性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值