linux系统无网络状态下安装nginx及其所需的依赖包
https://blog.csdn.net/qq_41182402/article/details/113386344?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328740.38155.16169923317312473&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
https://blog.csdn.net/qq_37141865/article/details/103869219 Nginx安装配置相关介绍
百度云地址:https://pan.baidu.com/s/1SPVgZm6B4hsla8MGGhEfbw
提取码:0mvb
linux下无网安装nginx以及所需依赖
- Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,安装顺序为我写的顺序:
(1)SSL功能需要openssl库,下载地址:http://www.openssl.org/
(2)gzip模块需要zlib库,下载地址:http://www.zlib.net/
(3)rewrite模块需要pcre库,下载地址:http://www.pcre.org/
(4)Nginx的安装包:下载地址为:http://nginx.org/en/download.html
由于有些网址登录过程较慢,所以小编以及将nginx以及nginx的依赖全部下载完成,分享到百度云中,小编将在文章的末尾分享。 - 将下载完成的nginx包和nginx的依赖包上传到指定的主机上面
安装nginx的依赖,按照如下顺序安装(如果在安装的过程中出现了权限的问题,需要更换到管理员的账号 例如:su root ,输入管理员的密码)
(1)首先我们安装SSL功能需要的openssl库插件,注意:安装过程是按照我在linux下设置的文件路径来安装的,命令如下:a.1 tar -zxvf soft/openssl-1.1.1b.tar.gz
a.2 cd openssl-1.1.1b/
a.3 ./config
a.4 make
a.5 make install
(2)安装gzip模块需要zlib库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:
b.1 tar -zxvf soft/zlib-1.2.11.tar.gz
b.2 cd zlib-1.2.11/
b.3 ./configure
b.4 make
b.5 make install
(3)安装 rewrite模块需要pcre库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:
c.1 tar -zxvf soft/pcre-8.42.tar.gz
c.2 cd pcre-8.42/
c.3 ./configure
c.4 make
c.5 make install
如果在执行./configure的出现错误了,导致不能继续往下执行,报错内容为:
error: You need a C++ compiler for C++ support,看到这句话我们就已经猜到了应该是c++包信息,而linux中没有,那么首先安装一下这个包信息即可,安装命令为:
yum install -y gcc gcc-c++
1
当安装完上面的c++包之后,在此运行,发现消息已经显示安装成功了,当基于上面的东西全部安装完成之后,就需要安装Nginx服务了。
安装nginx
(1)安装nginx的命令如下所示:d.1 tar -zxvf soft/nginx-1.15.12.tar.gz
d.2 cd nginx-1.15.12/
d.3 ./configure —with-pcre=../pcre-8.42/ —with-zlib=../zlib-1.2.11/ —with-openssl=../openssl-1.1.1b/ —prefix= /nginx_install/nginx
d.4 make
d.5 make install
注意是../ 转载里面是 … 坑死我了。
注:–prefix是将nginx安装的哪个目录,如果没有指定,将安装到/usr/local/nginx中,如果指定的目录中没有nginx文件夹,需要自己创建一个文件夹。
- 启动nginx
(1)进入到你刚才安装nginx的目录,进入后在进入sbin目录。此处需要换成你自己的目录。命令如下所示:
cd yournginx/sbin
(2)进入sbin目录后,使用如下命令启动:
./nginx
(3)启动可能出现的问题,如果你没有使用管理员用户进行启动,可能会报出权限异常的错误,因为非管理员用户是不能启动1024端口以下的端口号,错误信息如下所示:
nginx: the configuration file /home/work/local-qc/nginx/conf/nginx.conf syntax is ok
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
nginx: configuration file /home/work/local-qc/nginx/conf/nginx.conf test failed
./nginx -t
看到如下提示,表示安装成功。
nginx: the configuration file /opt/ldkjdata/nginx/nginx-1.14.0/conf/nginx.conf syntax is ok
nginx: configuration file /opt/ldkjdata/nginx/nginx-1.14.0/conf/nginx.conf test is successful
解决办法:
如果有管理员用户,可以使用管理员用户启动。
如果没有管理员用户,可以将nginx文件夹中的conf文件夹中的nginx.conf的配置文件的监听端口修改为1024以上的。
(4)启动完成后,访问主机地址以及对应的端口号,如果可以出现Welcome to Nginx!的提示,则表示启动成功。
特别注意:如果在安装过程中,出现了权限问题,需要修改成root用户在进行操作。
nginx的安装包以及对应的依赖如下所示:
Nginx启动和端口查看
cd /opt/ldkjdata/nginx/nginx-1.14.0/sbin
./nginx 启动
./nginx -s stop 停止
./nginx -s reload 修改配置后重新加载配置
netstat -ntlp 查看tcp是否正常监听
配置:
#运行用户
user www-data;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
#全局错误日志及PID文件
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
#工作模式及连接数上限
events {
use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024;#单个后台worker process进程的最大并发链接数
# multi_accept on;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;
#设定日志格式
access_log /var/log/nginx/access.log;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#tcp_nopush on;
#连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
#开启gzip压缩
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
#设定请求缓冲
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}
server {
#侦听80端口
listen 80;
#定义使用www.xx.com访问或者localhost
server_name www.xx.com;
#设定本虚拟主机的访问日志
access_log logs/www.xx.com.access.log main;
#默认请求
location / {
root /root; #定义服务器的默认网站根目录位置
index index.php index.html index.htm; #定义首页索引文件的名称
fastcgi_pass www.xx.com;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
# 定义错误提示页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /root;
}
#静态文件,nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /var/www/virtual/htdocs;
#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
expires 30d;
}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ \.php$ {
root /root;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
include fastcgi_params;
}
#设定查看Nginx状态的地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
}
#禁止访问 .htxxx 文件
location ~ /\.ht {
deny all;
}
}
}
还没有评论,来说两句吧...