ngnix安装

xiaoxiao2025-04-13  10

安装Nginx所需的pcre库     中文perl兼容真则表达式,官方站为http://www.pcre.org/,安装pcre库是为了使Nginx支持HTTP Rewrite 模式。 安装过程如下:

wget https://ftp.pcre.org/pub/pcre/pcre-8.31.tar.gz     tar -zxf pcre-8.31.tar.gz     cd pcre-8.31     ./configure     make && make install

    

安装openssl http://www.openssl.org/source/openssl-1.1.0e.tar.gz

tar -zxf openssl-1.1.0e.tar.gz cd openssl-1.1.0e ./config  --prefix=/usr/local/openssl --openssldir=/app/nginx/openssl/openssl-1.1.0e  注:prefix:安装目录;openssldir:源码目录 make && make install

yum install -y zlib-devel  注:依赖

yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel

安装nginx:

官网:http://nginx.org  download

wget http://nginx.org/download/nginx-1.17.3.tar.gz

groupadd nginx useradd -s /sbin/nologin -g nginx -M nginx tar -zxf nginx-1.10.3.tar.gz cd nginx-1.10.3

./configure\  --user=nginx\  --group=nginx\  --prefix=/application/nginx-1.10.3\  注:指定编译的路径 --with-http_stub_status_module\  注:加载模块 --with-http_ssl_module\         注:加载模 --with-openssl=/usr/local/openssl 注:指定openssl位置

./configure --user=nginx --group=nginx --prefix=/application/nginx-1.10.3 --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/openssl

make  make install

如果报错: nginx 安装 make[1]: *** [/usr/local/openssl/.openssl/include/openssl/ssl.h] Error 127 解决: 打开nginx源文件下的/usr/local/src/nginx-1.9.9/auto/lib/openssl/conf文件: 找到: CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" CORE_LIBS="$CORE_LIBS $NGX_LIBDL" 替换: CORE_INCS="$CORE_INCS $OPENSSL/include" CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a" CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

启动nginx 检查语法: /usr/local/nginx/sbin/nginx -t 启动: /usr/local/nginx/sbin/nginx

ps -ef|grep nginx

查看端口: lsof -i :80 如果没有安装lsof 可安装:yum install lsof -y

查看端口: netstat -lnt

进程: ps -ef|grep nginx

关闭防火墙:/etc/init.d/iptables stop 生产环境不能关闭防火墙

生产环境允许外网IP访问80端口: iptables -I INPUT -p tcp --dport 80 -j ACCEPT

https:

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

windows: 下载: http://nginx.org 解压

在nginx.exe目录,打开命令行工具,用命令 启动/关闭/重启nginx    start nginx : 启动nginx nginx -s reload  :修改配置后重新加载生效 nginx -s reopen  :重新打开日志文件 nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx: nginx -s stop  :快速停止nginx nginx -s quit  :完整有序的停止nginx

如果遇到报错: bash: nginx: command not found

有可能是你再linux命令行环境下运行了windows命令,

如果你之前是允许 nginx -s reload报错, 试下 ./nginx -s reload

或者 用windows系统自带命令行工具运行

nginx -s reload 报错:nginx.pid 文件没找到

nginx -c  C:\nginx-1.15.1\nginx-1.15.1\conf\nginx.conf

nginx -s reload从新指定配置文件

#user  nobody; worker_processes  1;

#error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info;

pid  logs/nginx.pid;

events {     worker_connections  1024; }

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;

    ## Basic reverse proxy server ##     ## myDomain##     upstream myDomain  {         server ip:port;      }     ## Start test.myDomain.com ##     server {         listen 80;         server_name  test.myDomain.com;               #access_log  logs/quancha.access.log  main;         #error_log  logs/quancha.error.log;         root   html;         index  index.html index.htm index.php;               ## send request back to apache ##         location / {         proxy_pass  http://myDomain;               #Proxy Settings         proxy_redirect     off;         proxy_set_header   Host             $host;         proxy_set_header   X-Real-IP        $remote_addr;         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;         proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;         proxy_max_temp_file_size 0;         proxy_connect_timeout      90;         proxy_send_timeout         90;         proxy_read_timeout         90;         proxy_buffer_size          4k;         proxy_buffers              4 32k;         proxy_busy_buffers_size    64k;         proxy_temp_file_write_size 64k;        }     }     ## End test.myDomain.com ##

    ## Basic reverse proxy server ##     ## myDomain ##     upstream task  {         server ip:port;      }     ## Start test.myDomain.com ##     server {         listen 80;         server_name  task.myDomain.com;              # access_log  logs/quancha.access.log  main;         error_log  logs/quancha.error.log;         root   html;         index  index.html index.htm index.php;               ## send request back to apache ##         location / {         proxy_pass  http://task;               #Proxy Settings         proxy_redirect     off;         proxy_set_header   Host             $host;         proxy_set_header   X-Real-IP        $remote_addr;         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;         proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;         proxy_max_temp_file_size 0;         proxy_connect_timeout      90;         proxy_send_timeout         90;         proxy_read_timeout         90;         proxy_buffer_size          4k;         proxy_buffers              4 32k;         proxy_busy_buffers_size    64k;         proxy_temp_file_write_size 64k;        }     }     ## End task.myDomain.com ##

    server {         listen       80;         server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {             root   html;             index  index.html index.htm;         }

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

}

 

转载请注明原文地址: https://www.6miu.com/read-5028159.html

最新回复(0)