在学校里搞了个内网,镜像源用的是学校的。只好手动搞一下了。
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
或./nginx
或sudo 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