4

新增nginx 用户 用户组

groupadd nginx
useradd -g nginx nginx

下载 解压

wget "http://nginx.org/download/nginx-1.14.2.tar.gz"
tar xzvf nginx-1.14.2.tar.gz

#同时下载 清理缓存插件
wget "http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz"
tar xzvf ngx_cache_purge-2.3.tar.gz

编译安装

需要使用 root用户

cd nginx-1.14.2

#ngx_cache_purge-2.3 路径是在你刚解压的路径
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --add-module=/home/flame/software/ngx_cache_purge-2.3

make &&  make install

加入 systemctl

vim /lib/systemd/system/nginx.service

输入以下内容

[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

修改配置文件

cd /usr/local/nginx/conf
mkdir vhost
vim nginx.conf

输入以下内容

#user  nobody;
worker_processes 1; #设置值和CPU核心数一致
error_log /usr/local/nginx/logs/nginx_error.log crit; #日志位置和日志级别
pid /usr/local/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 8192;
events
{
  use epoll;
  worker_connections 8192;
}
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';
  
  #charset gb2312;
     
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
     
  sendfile on;
  tcp_nopush on;
  keepalive_timeout 60;
  tcp_nodelay on;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;
  gzip on; 
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types text/plain application/x-javascript text/css application/xml;
  gzip_vary on;

  #下面是server虚拟主机的配置
  include vhost/*.conf;

}
vim vhost/php.conf

输入以下内容

server
{
    listen 8080;#监听端口
    server_name xxx.xxx.xxx.xxx;#域名 或ip
    index index.html index.htm index.php;
    root /usr/local/nginx/html;#站点目录

     location ~ \.php$ {
        root  /home/www/webroot/php;
        fastcgi_pass 127.0.0.1:9080;
        fastcgi_index   index.php;
        include         fastcgi.conf;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
    {
      expires 30d;
      # access_log off;
    }
    location ~ .*\.(js|css)?$
    {
      expires 15d;
      # access_log off;
    }
    access_log  "/usr/local/nginx/logs/php_access.log"  main;
    error_log  "/usr/local/nginx/logs/php_error.log"  info;
}

测试启动nginx

/usr/local/nginx/sbin/nginx -t

systemctl start nginx
#或
/usr/local/nginx/sbin/nginx

centos7防火墙开放端口

# 开放8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重载
firewall-cmd --reload
#查看状态
firewall-cmd --list-all

阿里云端口安全组设置

安全组说明
新增8080端口的新增【入方向】规则

测试

打开 xxx.xxx.xxx.xxx:8080
如果有出现 【Welcome to nginx!】 即成功了


flamefatex
102 声望2 粉丝

好学,涉猎广