nginx怎么添加网站(nginx加uwsgi)
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.phplicense.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.phproot@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重新加载配置文件即可
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.