nginx-web服务器

[复制链接]
发表于 2023-2-9 12:14:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1.介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
官网:https://nginx.org/
2.Nginx-命令(手动安装限定)

1.查看版本
  1. ./nginx -v
复制代码
2.检查配置文件
  1. ./nginx -v
复制代码
3.启动
  1. ./nginx
复制代码
4.停止
  1. ./nginx -s stop
复制代码
停止之后,我们可以查看nginx的进程:
  1. ps -ef|grep nginx
复制代码
5.重新加载

当修改了Nginx配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:
  1. ./nginx -s reload
复制代码
3.环境变量配置

在上述我们在使用nginx命令在进行服务的启动、停止、重新加载时,都需要用到一个指令nginx,而这个指令是在nginx/sbin目录下的,我们每一次使用这个指令都需要切换到sbin目录才可以,使用相对繁琐。那么我们能不能在任意目录下都可以执行该指令来操作nginx呢?答案是可以的,配置nginx的环境变量即可。
打开/etc/profile文件, 在PATH环境变量中增加nginx的sbin目录,如下:
  1. ecpot PATH=/usr/local/nginx/sbin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
复制代码
修改完配置文件之后,需要执行 source /etc/profile 使文件生效。 接下来,我们就可以在任意目录下执行nginx的指令了
#安装

手动安装

1.安装依赖包

由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。
  1. yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
复制代码
2.下载Nginx安装包

以1.16.1版本为例
  1. yum install wget
复制代码
  1. wget https://nginx.org/download/nginx-1.16.1.tar.gz
复制代码
wget:
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
3.解压nginx压缩包
  1. tar -zxvf nginx-1.16.1.tar.gz
复制代码
4.配置Nginx编译环境
  1. cd nginx-1.16.1
复制代码
  1. ./configure --prefix=/usr/local/nginx
复制代码
----prefix 指定的目录,就是我们安装Nginx的目录。
5.编译&安装
  1. make & make install
复制代码
docker安装

1.docker拉取nginx镜像
  1. docker pull nginx
复制代码
2.创建映射容器的文件目录

创建配置文件目录
  1. mkdir -p /mydata/nginx/conf/
复制代码
  1. mkdir -p /mydata/nginx/conf.d/
复制代码
  1. mkdir -p /mydata/nginx/log/
复制代码
授予权限
  1. chmod 777 /mydata/nginx/conf/
复制代码
  1. chmod 777 /mydata/nginx/conf.d/
复制代码
  1. chmod 777 /mydata/nginx/log/
复制代码
3.在/mydata/nginx/conf/中创建nginx.conf文件
  1. user  nginx;
  2. worker_processes  auto;
  3. error_log  /var/log/nginx/error.log notice;
  4. pid        /var/run/nginx.pid;
  5. events {
  6.     worker_connections  1024;
  7. }
  8. http {
  9.     include       /etc/nginx/mime.types;
  10.     default_type  application/octet-stream;
  11.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  12.                       '$status $body_bytes_sent "$http_referer" '
  13.                       '"$http_user_agent" "$http_x_forwarded_for"';
  14.     access_log  /var/log/nginx/access.log  main;
  15.     sendfile        on;
  16.     #tcp_nopush     on;
  17.     keepalive_timeout  65;
  18.     #gzip  on;
  19.     include /etc/nginx/conf.d/*.conf;
  20. }
复制代码
4.在/mydata/nginx/conf.d/中创建default.conf文件
  1. server {
  2.     listen       80;
  3.     listen  [::]:80;
  4.     server_name  localhost;
  5.     #access_log  /var/log/nginx/host.access.log  main;
  6.     location / {
  7.         root   /usr/share/nginx/html;
  8.         index  index.html index.htm;
  9.     }
  10.     #error_page  404              /404.html;
  11.     # redirect server error pages to the static page /50x.html
  12.     #
  13.     error_page   500 502 503 504  /50x.html;
  14.     location = /50x.html {
  15.         root   /usr/share/nginx/html;
  16.     }
  17.     # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  18.     #
  19.     #location ~ \.php$ {
  20.     #    proxy_pass   http://127.0.0.1;
  21.     #}
  22.     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  23.     #
  24.     #location ~ \.php$ {
  25.     #    root           html;
  26.     #    fastcgi_pass   127.0.0.1:9000;
  27.     #    fastcgi_index  index.php;
  28.     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
  29.     #    include        fastcgi_params;
  30.     #}
  31.     # deny access to .htaccess files, if Apache's document root
  32.     # concurs with nginx's one
  33.     #
  34.     #location ~ /\.ht {
  35.     #    deny  all;
  36.     #}
  37. }
复制代码
5.创建容器
  1. docker run -p 80:80 --name nginx \
  2. --restart=always \
  3. -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  4. -v /mydata/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
  5. -v /mydata/nginx/log:/var/log/nginx \
  6. -d nginx
复制代码
-d:后台运行
-p:端口映射
--name:指定容器名称
-v:数据卷映射
--restart:重启容器方式

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表