当前位置:首页 > 教程 > 正文内容

nginx怎么添加网站(nginx加uwsgi)

2023-05-09 18:00:11教程1

nginx怎么添加网站

1.后缀问题,用Nginx的rewrite就行

2.restful权限你已经用了JWT,那么返回的JWT存进localstorage,页面在每次加载的时候拉取存的JWT的token,如果不存在重定向至登陆页面,如果存在带进头部

Authentication

进行数据请求,如果该token无权限直接重定向到403页面

3.限制带html后缀访问,你可以在nginx写个正则

nginx加uwsgi

Python Web 程序的部署方案

综合而言, 高性能的Python web站点部署方式首推 nginx + uwsgi

apache + mod_wsgi 是简单稳定但性能一般的方式

API服务器 可以直接使用tornado或者gevent

mod_python

非常原始的cgi模式部署python已经没有什么好介绍了。对于不太追求性能的管理系统和网站来说,使用 Apache 部署是一个不错的选择。较早的时候,使用 mode_python 部署python的web应用十分流行,在Django 0.96 的时候官方文档甚至推荐这种方式。

它将Python解释器嵌入到Apache server,以提供一个访问Apache server内部的接口。mod_python 在现在看来性能是不佳的,每一个http请求 mod_python 都会由一个进程初始化python解释器、载入代码、执行、然后销毁进程。

mod_wsgi

如果非要用Apache来部署python应用,mod_wsgi是一个更好的选择。WSGI 全称是 Web Server Gateway Interface ,由 PEP-333 定义。 基本上所有的python web框架都实现了wsgi接口,用mod_wsgi 能部署任何实现了wsgi的框架。实际上,不需要任何框架也可以用mod_wsgi 部署python程序。使用mod_wsgi的daemon模式,python程序会常驻内存,不会有很大的初始化和销毁进程方面的开销,所以性能是好于mod_python的。综合来说,使用Apache部署python web程序,推荐使用mod_wsgi的daemon模式。

Fastcgi

先说观点:不建议用fastcgi的方式部署Python web。

前几年由于lighttpd风头正劲和豆瓣的成功案例,fastcgi是一种很流行的部署方式。fastcgi与具体语言无关,也与web服务器无关。是一种通用的部署方式。fastcgi是对于cgi的增强,CGI程序运行在独立的进程中,并对每个Web请求建立一个进程。面对大量请求,进程的大量建立和消亡使操作系统性能大大下降。

与为每个请求创建一个新的进程不同,FastCGI使用持续的进程来处理一连串的请求。这些进程由FastCGI服务器管理,而不是web服务器。 当进来一个请求时,web服务器把环境变量和这个页面请求通过一个socket比如FastCGI进程与web服务器都位于本地)或者一个TCP connection(FastCGI进程在远端的server farm)传递给FastCGI进程。

主流的web服务器,Apache,lighttpd,nginx 都支持fastcgi,在几年前,lighttpd的mod_fcgi模块性能强劲,lighttpd+fastcgi十分流行。无论是python,ruby还是php,都有大量的站点使用这种方式部署。由于nginx的崛起,现在很少有人使用lighttpd了。

fastcgi 并不是专门为python设计,并不是所有的python框架天然的支持fastcgi,通常需要flup这样的容器来配适。flup由python编写,和专门的c实现的wsgi容器比起来性能显得相当不堪。fastcgi的稳定性对于新兴的wsgi容器来说也有差距。无论从哪个方面来看,部署python web程序,fastcgi 都已经是过去式。

uwsgi

前几年nginx还未内置uwsgi模块的时候,部署uwsgi还是一件挺麻烦的事情。随着能够在nginx中直接使用uwsgi模块,uwsgi已经是最可靠,最方便的高性能python web程序的部署方式了。

在1U的四核XEON服务器上,一个简单的wsgi handler甚至能用AB压到8000以上的qps,这已经是完爆tornado,接近gevent的性能了。 同时,uwsgi的稳定性极好。之前我们有个每天500w-1000w动态请求的站点使用uwsgi部署非常稳定,在一个渣HP 1U 服务器上,基本不用管它。

上面提到的部署方式都是相对于web网站的方式,在移动互联网的时代,我们需要的是高性能的API服务,上面这些都是过时的东西。

tornado

tornado 号称高性能,如果拿他写网站,其实一般般,只不过跟uwsgi加一些简单框架差不多而已。它真正的作用,是用来写API服务器和长连接的服务器。

由于tornado能够直接处理http请求,很多人直接拿他来裸奔直接提供服务。这种方式是不可取的,单线程的tornado只能利用cpu的一个核心,并且一旦阻塞直接就废了。通常情况下,由supervisor启动多个tornado进程,通过nginx进行反向代理负载均衡。nginx 1.14 以后的版本反向代理支持长连接,配合tornado的comet效果很好。

tornado还有一些比较奇葩的用法,比如用来做wsgi容器之类的。

gevent

gevent是一个神器,能做的事情很多。在web方面,处理http请求,用起来其实跟tornado差不多,但是要简陋很多,cookie之类的都没有。用gevent写的一些API服务,部署方式还是类似tornado,用supervisor管理多个守护进程,通过nginx做负载均衡。 同样的它的奇葩用法也和tornado一样,可以当wsgi容器用。

怎么用nginx做网页

tomcat默认端口是8080

nginx默认端口是80

在nginx的配置文件中设置api的请求转发端口为tomcat的8080就可以正常使用了

浏览器访问nginx的80端口,可以正常打卡网页

nginx 添加路径

在Windows下,Nginx的启动日志可以在Nginx的安装目录下查看。具体步骤如下:

1. 打开Nginx的安装目录,一般在C:\nginx或者D:\nginx等位置。

2. 进入logs目录,可以看到access.log和error.log两个文件。

- access.log是Nginx的访问日志,记录了每个请求的详细信息,包括请求的时间、IP地址、请求的URL、响应状态码等。

- error.log是Nginx的错误日志,记录了Nginx在运行过程中出现的错误信息,包括语法错误、配置错误、启动错误等。

3. 双击打开access.log或error.log文件,可以使用记事本或其他文本编辑器查看日志内容。

4. 如果想要在启动Nginx时将启动日志输出到控制台,可以在命令行中使用以下命令启动Nginx:

```

nginx.exe -c nginx.conf -p C:\nginx -g "daemon off;"

```

其中,-c参数指定Nginx的配置文件路径,-p参数指定Nginx的安装目录,-g参数指定Nginx的全局配置,其中的"daemon off;"表示不以守护进程方式运行Nginx,将启动日志输出到控制台。

通过以上步骤,您可以在Windows下查看Nginx启动日志。

nginx怎么添加模块

       Nginx是一款常用的高性能Web服务器,其配置文件主要由模块指令和上下文组成,可以通过配置文件实现反向代理、负载均衡、缓存等功能。下面是nginx配置的一些详解:

1.server:server指令用于配置虚拟主机,可以在一个Nginx服务器中配置多个虚拟主机,每个虚拟主机有自己的配置。

2.location:location指令用于配置URL的匹配规则,可以匹配URI、文件扩展名等,可以通过配置不同的location实现反向代理和缓存等功能。

3.upstream:upstream指令用于配置反向代理的后端服务器,可以配置多个服务器进行负载均衡,支持不同的负载均衡算法。

4.proxy_pass:proxy_pass指令用于配置反向代理的转发规则,可以将请求转发到指定的后端服务器。

5.cache:cache指令用于配置缓存规则,可以通过配置缓存来提高Web服务器的性能。

6.ssl:ssl指令用于配置SSL协议,可以实现HTTPS的安全通信。

       除了以上指令外,还有许多其他的Nginx指令,例如gzip、log_format、rewrite等,可以根据具体需求进行配置。总的来说,Nginx的配置相对简单,但具有很高的灵活性和可扩展性,可以根据不同的场景进行灵活配置。

nginx配置网页

Nginx是一个流行的Web服务器软件,需要进行配置才能正确使用。以下是简单的Nginx配置步骤:

1. 安装Nginx软件:通过互联网搜索及官网下载最新的Nginx安装包进行安装。2. 设置服务监听端口:编辑Nginx主配置文件,设置监听端口,默认是80端口。3. 配置域名解析:通过配置文件中的server段设置Nginx对应的域名、访问控制等等。4. 配置静态文件目录:配置文件中location段指定静态文件所在目录及相应URL文件目录对应关系,加快文件服务器的访问速度。5. 重启Nginx服务:配置完成后,通过命令行可执行nginx -t测试语法,然后再执行sudo nginx -s reload重启Nginx服务。需要注意的是,Nginx配置的详细操作过程因环境、场景不同而异。如遇困难可以查阅Nginx官方_。

nginx添加header

可以设置server_tokens,设置为off,则不显示server字段,设置为一个字符串,则server显示为该字符串的值,用法如下(此为附加版本功能):

nginx添加php

nginx 和php配置都有自己的config 文件,你按照网上的说明去配置就可以,主要是修改。

nginx新建网站

想要搭建个人网站,就需要有单独的服务器,就在阿里云购买了台服务器,选择系统为“Ubuntu 14.04.5 LTS”,并在阿里云买了个域名(域名是为了方便记忆,否则输入ip地址访问网站很不方便),下面就使用Ubuntu系统搭建WordPress个人网站。

安装WordPress运行环境

1.安装Mysql数据库

apt update

apt upgrade

apt install mysql-server

查看mysql是否安装成功:

root@iZ2zeeg42qkecbhciml4pcZ:~# mysql --version

mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3

2.安装PHP

apt-get install software-properties-common

add-apt-repository ppa:ondrej/php

apt update

apt install php7.2

apt install libapache2-mod-php7.2

apt install php7.2-mysql

apt install php7.2-fpm

查看php是否安装成功:

root@iZ2zeeg42qkecbhciml4pcZ:~# php -v

PHP 7.2.16-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: Mar 7 2019 20:42:24) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

with Zend OPcache v7.2.16-1+ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

3.安装Nginx

install nginx

查看Nginx是否安装成功:

root@iZ2zeeg42qkecbhciml4pcZ:~# nginx -v

nginx version: nginx/1.4.6 (Ubuntu)

重启Nginx后,在浏览器中输入http://阿里云服务器外网IP地址/

service nginx stop

service nginx start

如果图片显示为下图,说明阿里云服务器自动启动了apache2的服务,apache2和nginx都使用80端口,80端口冲突。

关闭apache2的服务

重启php7.2-fpm服务和Nginx服务:

在浏览器中输入http://阿里云服务器外网IP地址/

安装WordPress及其配置

1.Mysql创建数据库和用户:

root@iZ2zeeg42qkecbhciml4pcZ:~# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 44

Server version: 5.5.62-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database 数据库名称 character set utf8 collate utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

mysql> grant all on 数据库名称.* to '用户名'@localhost identified by '用户密码';

Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Bye

root@iZ2zeeg42qkecbhciml4pcZ:~#

2.下载WordPress并安装:

获取WordPress软件:点击此处

将下载的wordpress-5.0.3-

zh_CN.tar.gz

上传到云服务器上

安装wordPress:

root@iZ2zeeg42qkecbhciml4pcZ:~# ls

wordpress-5.0.3-zh_CN.tar.gz

root@iZ2zeeg42qkecbhciml4pcZ:~# mv wordpress-5.0.3-zh_CN.tar.gz /var/www/

root@iZ2zeeg42qkecbhciml4pcZ:~# cd /var/www/

root@iZ2zeeg42qkecbhciml4pcZ:/var/www# ls

html wordpress-5.0.3-zh_CN.tar.gz

root@iZ2zeeg42qkecbhciml4pcZ:/var/www# tar -zxvf wordpress-5.0.3-zh_CN.tar.gz

......

root@iZ2zeeg42qkecbhciml4pcZ:/var/www# ls

html wordpress wordpress-5.0.3-zh_CN.tar.gz

root@iZ2zeeg42qkecbhciml4pcZ:/var/www# cd wordpress/

root@iZ2zeeg42qkecbhciml4pcZ:/var/www/wordpress# ls

index.php readme.html wp-admin wp-comments-post.php wp-content wp-includes wp-load.php wp-

mail.php

wp-signup.php xmlrpc.php

license.txt

wp-activate.php wp-blog-header.php wp-config-sample.php wp-cron.php wp-links-opml.php wp-login.php wp-settings.php wp-trackback.php

root@iZ2zeeg42qkecbhciml4pcZ:/var/www/wordpress# mv wp-config-sample.php wp-

config.php

使用vim命令编辑wp-config.php:

vim wp-config.php

修改文件中的数据库配置信息,填写刚才创建的数据库信息:

/** WordPress数据库的名称 */

define('DB_NAME', '数据库名称');

/** MySQL数据库用户名 */

define('DB_USER', '用户名');

/** MySQL数据库密码 */

define('DB_PASSWORD', '数据库密码');

/**

* WordPress数据表前缀。

*

* 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置

* 不同的数据表前缀。前缀名只能为数字、字母加下划线。

*/

$table_prefix = 'wp_';

在阿里云控制台将域名解析到指定的服务器上:

控制台->域名->解析->添加纪录

配置服务安全组策略,将80(http)端口和443(https)端口开放:

控制台->云服务器ECS->网络和安全->安全组->配置规则

配置80端口:

配置443端口:

配置后查看内容:

编辑Nginx配置文件:/etc/nginx/sites-available/default

client_max_body_size 10m;

server {

listen 80;

listen [::]:80;

server_name localhost; #你的域名

root /var/www/wordpress;

index index.php index.html index.htm index.nginx-debian.html;

location / {

# First attempt to serve request as file, then

# as directory, then fall back to displaying a 404.

#try_files $uri $uri/ =404;

try_files $uri $uri/ /index.php?$args;

}

location ~ \.php$ {

# include fastcgi.conf;

include fastcgi_params;

fastcgi_buffer_size 128k;

fastcgi_buffers 32 32k;

#fastcgi_intercept_errors on;

# With php-fpm (or other unix sockets):

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

# With php-cgi (or other tcp sockets):

#fastcgi_pass 127.0.0.1:9000;

}

}

重启Nginx后,在浏览器中输入http://阿里云服务器外网IP地址/

service nginx stop

service nginx start

在浏览器中访问自己的域名,查看是否成功:

到此WordPress就安装成功了,你可以自行配制您的网站信息。

nginx添加域名

添加网站是通过编辑nginx.conf文件来实现的

首先打开nginx.conf

在http块中添加一个server块

在server块中配置站点的信息

使用listen指令配置nginx监听的端口,默认为80

使用server_name指令配置nginx站点的主机名(域名),用来区分请求是要发给哪个站点的

使用root设置站点的根目录

配置完后保存并使用nginx-sreload重新加载配置文件即可

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98827849.html