Nginx安装、多域名访问
nginx
- web服务 apache iis
- django web框架
- lvs 负载均衡 章文嵩博士
- vue 尤雨溪
- Tengine
- F5 硬件负载
- A10
安装
- ```
- wget http://nginx.org/download/nginx-1.16.1.tar.gz
- tar xf nginx-1.16.1.tar.gz
- cd nginx-1.16.1
- yum install gcc zlib2-devel pcre-devel openssl-devel
- ./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module
- make && make install
- ```
目录结构
- ```
- [root@localhost nginx]#ls
- conf html logs sbin
- conf 配置文件
- html 存放静态文件 index.html 是默认的欢迎页面
- logs 日志目录
- sbin 二进制文件
- 启动以后会生成一个主进程,根据配置文件的选项来生成子进程(工作进程),主进程不负责处理用户的请求,用来转发用户的请求,真正负责处理用户请求的是子进程
- ```
命令格式
- ```
- ./sbin/nginx -h
- nginx version: nginx/1.16.1
- Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
- Options:
- -?,-h : this help
- -v : show version and exit 显示版本号
- -V : show version and configure options then exit 显示版本+编译时选项
- -t : test configuration and exit 测试配置文件
- -T : test configuration, dump it and exit
- -q : suppress non-error messages during configuration testing
- -s signal : send signal to a master process: stop, quit, reopen, reload
- -p prefix : set prefix path (default: /opt/nginx/)
- -c filename : set configuration file (default: conf/nginx.conf)
- -g directives : set global directives out of configuration file
- ```
配置文件
- ```shell
- #user nobody; 使用哪个用户来启动子进程
- worker_processes 1; #工作进程的个数,配置成cpu的核心数-1或者-2
- # cpu亲缘性绑定,让nginx的子进程工作在哪个核心上
- #error_log logs/error.log;
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #pid logs/nginx.pid;
- events {
- #use [epoll|select|poll];
- worker_connections 102400; # 每一个子进程可以处理的连接数
- }
- http {
- include mime.types; #导入
- default_type application/octet-stream; # 默认的请求方式
- # 定义日志格式
- #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- # '$status $body_bytes_sent "$http_referer" '
- # '"$http_user_agent" "$http_x_forwarded_for"';
- #定义日志并定义日志格式
- #access_log logs/access.log main;
- sendfile on;
- #tcp_nopush on;
- #keepalive_timeout 0;
- keepalive_timeout 65; # 保持长连接的超时时间
- #gzip on;
- server {
- listen 80; #监听端口
- server_name localhost;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- root html; # 指定静态文件地址
- index index.html index.htm; # 指定默认的index页面
- }
- # 错误页面 找不到页面
- #error_page 404 /404.html;
- # redirect server error pages to the static page /50x.html
- #
- # 错误页面 服务端错误
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
- #
- #location ~ \.php$ {
- # proxy_pass http://127.0.0.1;
- #}
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- #location ~ \.php$ {
- # root html;
- # fastcgi_pass 127.0.0.1:9000;
- # fastcgi_index index.php;
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
- # include fastcgi_params;
- #}
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
- # another virtual host using mix of IP-, name-, and port-based configuration
- #
- #server {
- # listen 8000;
- # listen somename:8080;
- # server_name somename alias another.alias;
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
- # HTTPS server
- #
- #server {
- # listen 443 ssl;
- # server_name localhost;
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
- # ssl_session_cache shared:SSL:1m;
- # ssl_session_timeout 5m;
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
- }
- ```
404页面
- ```
- error_page 404 /404.html;
- ```
root和alias的区别
- ```
- location /img {
- root /data/img;
- }
- root /data/img 里面必须有/img
- location /img {
- alias /data/img;
- }
- alias /data/img 里面不需要有 /img
- ```
域名
- ```
- server_name mynginx.com
- ```
多域名访问
- ```
- server {
- listen 80;
- server_name www.taobao.com taobao.com;
- location / {
- root /data/taobao;
- index index.html;
- }
- }
- server {
- listen 80;
- server_name www.jd.com jd.com;
- location / {
- root /data/jd;
- index index.html;
- }
- }
- ```
默认server
- ```
- listen 80 default_server; #放在server中的端口号后面,在使用ip访问时,默认访问的server
- ```
版权声明:本文为sun-10387834原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。