内网服务器centos7配置nginx


在学校里搞了个内网,镜像源用的是学校的。只好手动搞一下了。

ssh连接服务器后。

1. 首先安装所需的各种依赖。

安装gcc,nginx是用c写的,编译的时候需要gcc环境
yum install gcc-c++
安装pcre,一个正则库,nginx需要用到
yum install -y pcre pcre-devel
检查pcre安装
pcre-config --version
安装zlib,nginx对包zip压缩时需要
yum install -y zlib zlib-devel
安装openssl,是一个密码库,ssl需要
yum install -y openssl openssl-devel

2. 安装nginx

下载nginx
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
由于我是用本地下载的,因为服务器连不了外网,所以scp远程传过去
scp 本地文件路径 服务器用户名@服务器ip:存到服务器的文件路径
解压
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
使用默认配置
./configure
编译
make
安装,安装后的路径在/usr/local/nginx
make install
查看安装版本,有则安装成功
/usr/local/nginx/sbin/nginx -v

3. nginx配置

创建www用户运行nginx
创建www用户组
/usr/sbin/groupadd www
www用户组中创建www用户
/usr/sbin/useradd -g www www
配置nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf
删除原有的,输入以下

user www www;
worker_processes 2; #设置值和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 65535;
events
{
  use epoll;
  worker_connections 65535;
}
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;
 
  #limit_zone crawler $binary_remote_addr 10m;
 #下面是server虚拟主机的配置
 server
  {
    listen 80;#监听端口
    server_name localhost;#域名
    index index.html index.htm index.php;
    root /usr/local/nginx/html;#站点目录
      location ~ .*\.(php|php5)?$
    {
      #fastcgi_pass unix:/tmp/php-cgi.sock;
      fastcgi_pass 127.0.0.1:9000;
      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 off;
  }

}

检查一下配置是否成功
/usr/local/webserver/nginx/sbin/nginx -t

3 防火墙设置

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

4 开启nginx服务

查看服务器公网地址
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
启动nginx
/usr/local/nginx/sbin/nginx./nginxsudo systemctl start nginx.service
现在可以到浏览器输入ip地址看是否成功了,如果有Welcome to nginx!界面,那么就成功了
设置开机自启
sudo systemctl enable nginx.service

5 nginx 配置目录信息

网站文件存放默认目录
/usr/share/nginx/html
网站默认站点配置
/etc/nginx/conf.d/default.conf
自定义Nginx站点配置文件存放目录
/etc/nginx/conf.d/
Nginx全局配置
/etc/nginx/nginx.conf
Nginx启动
nginx -c nginx.conf

6 nginx 其他常用命令

关闭nginx
./nginx -s stop/usr/local/nginx/sbin/nginx -s stop
重载配置
/usr/local/nginx/sbin/nginx -s reload./nginx -s reload

参考1
参考2
参考3


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM