1、安装、启动nginx
yum install nginxsystemctl start nginx
2、更改配置文件 /etc/nginx/nginx.conf
user nginx nginx;worker_processes auto;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events {worker_connections 65000;}http {include /etc/nginx/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"';client_body_buffer_size 1024m;#access_log off;access_log /var/log/nginx/access.log main;server_tokens off;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 10;client_header_timeout 10;client_body_timeout 10;reset_timedout_connection on;send_timeout 10;limit_conn_zone $binary_remote_addr zone=addr:5000m;limit_conn addr 65535;#client_max_body_size 1000m;charset UTF-8;gzip on;gzip_disable "msie6";gzip_proxied any;gzip_min_length 1000;gzip_comp_level 9;gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;open_file_cache max=100000 inactive=20s;open_file_cache_valid 30s;open_file_cache_min_uses 2;open_file_cache_errors on;include /etc/nginx/conf.d/*.conf;}
配置fastcgi参数 /etc/nginx/fastcgi_params
fastcgi_param QUERY_STRING $query_string;fastcgi_param REQUEST_METHOD $request_method;fastcgi_param CONTENT_TYPE $content_type;fastcgi_param CONTENT_LENGTH $content_length;fastcgi_param SCRIPT_NAME $fastcgi_script_name;fastcgi_param REQUEST_URI $request_uri;fastcgi_param DOCUMENT_URI $document_uri;fastcgi_param DOCUMENT_ROOT $document_root;fastcgi_param SERVER_PROTOCOL $server_protocol;fastcgi_param REQUEST_SCHEME $scheme;fastcgi_param HTTPS $https if_not_empty;fastcgi_param GATEWAY_INTERFACE CGI/1.1;fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;fastcgi_param REMOTE_ADDR $remote_addr;fastcgi_param REMOTE_PORT $remote_port;fastcgi_param SERVER_ADDR $server_addr;fastcgi_param SERVER_PORT $server_port;fastcgi_param SERVER_NAME $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirectfastcgi_param REDIRECT_STATUS 200;fastcgi_buffer_size 256M;fastcgi_buffers 4 256M;fastcgi_busy_buffers_size 256M;fastcgi_connect_timeout 300s;fastcgi_send_timeout 300s;fastcgi_read_timeout 300s;fastcgi_intercept_errors on;fastcgi_max_temp_file_size 0;fastcgi_pass unix:/dev/shm/php-fpm.sock;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 表示使用哪个代理
可以使用php-fpm的 127.0.0.1:9000
配置网站 /etc/nginx/conf.d/test.conf
server {listen 80 8080;server_name test.com xyz.com;#access_log off;index index.php;error_page 502 = /502.html;error_page 404 = /404.html;root /opt/app/public;if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s=$1 last;break;}location ~ .*\.php?${include fastcgi_params;fastcgi_param channel $http_channel;fastcgi_index index.php;}}
启动报错 以及解决方法
#报错 1 配置内存不足nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: [alert] mmap(MAP_ANON|MAP_SHARED, 5242880000) failed (12: Cannot allocate memory)nginx: configuration file /etc/nginx/nginx.conf test failed.zone限制内存limit_conn_zone $binary_remote_addr zone=addr:500m;#配置内存不足 解决方法https://segmentfault.com/a/1190000004688125https://www.digitalocean.com/community/questions/nginx-alert-mmap-failed-22-invalid-argumenthttps://serverfault.com/questions/496671/nginx-or-php-fpm-error/496855#报错 2 绑定端口拒绝bind() to 0.0.0.0:8880 failed (13: Permission denied)#权限拒绝,经检查发现是开启selinux 导致的。 直接关闭#getenforce 这个命令可以查看当前是否开启了selinux 如果输出 disabled 或 permissive 那就是关闭了#如果输出 enforcing 那就是开启了 selinux#1、临时关闭selinux#setenforce 0 ##设置SELinux 成为permissive模式#setenforce 1 ##设置SELinux 成为enforcing模式#2、永久关闭selinux,#修改/etc/selinux/config 文件#将SELINUX=enforcing改为SELINUX=disabled#重启机器即可
