Linux 安装Nginx(使用Mac远程访问)

本机: macOS High Sierra

6.重启nginx

./configure 
--prefix=/usr/local/nginx 
--pid-path=/var/run/nginx/nginx.pid 
--lock-path=/var/lock/nginx.lock 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--with-http_gzip_static_module 
--http-client-body-temp-path=/var/temp/nginx/client 
--http-proxy-temp-path=/var/temp/nginx/proxy 
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
--http-scgi-temp-path=/var/temp/nginx/scgi

图片 1

 

修改完配置文件后记得重启nginx.
重启1:
进入nginx目录
[root@localhost ~]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload

  cd /usr/local/nginx/sbin

遇到的错误及解决办法
1.nginx/logs/nginx.pid" failed (2: No such file or directory)
解决方法:
重新编译(make,make install),安装就好.

可以实现在一台服务器虚拟出多个网站

4.编辑nginx
[root@localhost nginx-1.10.3]# ./configure --prefix=/usr/local/nginx
--------{{备注:可选
yum -y install openssl openssl-devel
--prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module
--------}}
[root@localhost nginx-1.10.3]# make
[root@localhost nginx-1.10.3]# make install

 

图片 2

原因: /var/run/nginx这个目录不存在

5.启动nginx

阅读本文需要一定的Linux基础

Paste_Image.png

 

Paste_Image.png

  cd nginx压缩包所在目录

查看nginx是否启动

  make install

Paste_Image.png

nginx是一个http服务器 可以独立提供http服务 可以做网页静态服务器

图片 3

  yum install -y pcre pcre-devel

root用户进程号1303的才是,nobody的可以删除

  启动

Paste_Image.png

关闭防火墙

Paste_Image.png

进入sbin目录

8.配置nginx,根据不同的域名转发到不同的主机,直接编辑nginx.conf

nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)

图片 4

解压

路由器配置虚拟机服务器,将80端口指向nginx,也就是192.168.210.100这台主机,可将配置文件自带的server注释掉,然后添加如下内容,这样在访问www.a.com这个域名时便可转向到192.168.210.230这台主机,在访问www.b.com这个域名时转向到192.168.210.231这台主机

  systemctl disable firewalld.service

图片 5

默认是80端口

7.防火墙问题
Centos7默认使用的firewall作为防火墙
[root@localhost ~]# firewall-cmd --state 查看防火墙运行状态
running
[root@localhost ~]# systemctl start firewalld.service 开启防火墙
[root@localhost ~]# systemctl stop firewalld.service 关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service 彻底关闭防火墙,开机不启动
[root@localhost ~]# systemctl enable firewalld.service 开启防火墙,开机启动

    ./nginx

3.安装gcc
[root@localhost nginx-1.10.3]# yum -y install gcc-c++
安装最基础的模块
[root@localhost nginx-1.10.3]# yum -y install pcre-devel
安装gzip
[root@localhost nginx-1.10.3]# yum -y install zlib-devel
以上都是在编译安装nginx时需要的一些环境

场景: 服务器正常运行nginx -> 服务器重启(重启前未关闭nginx) -> 再次启动nginx

重启2:
当nginx已经在运行时,则需要平滑重启,步骤如下:
先查看nginx master的pid: ps aux|grep nginx|grep master
[root@localhost ~]# ps aux|grep nginx|grep master
root 1303 0.0 0.0 21932 1868 ? Ss 3月08 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx的pid为1303,如下平滑重启命令,完成重启
[root@localhost ~]# kill -HUP 1303

  mkdir /usr/local/nginx

2.[emerg]mkdir()"/var/temp/nginx/client" failed(2:No such file or directory)
解决方法:
查看了一下是由于没有Nginx/client的目录.缺少对应的文件,建立相应的文件就好.

使用configure命令创建Makefile文件 将下面命令拷贝进去

架构图参考如下:

3. 反向代理|负载均衡

upstream myserver{
               #        ip_hash;
                server 192.168.200.21;
                server 192.168.200.22;
                server 192.168.200.23;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
 location ~ .*.(gif|jpg|png|htm|html|css|js|flv|ico|swf|eot|woff2|ttf|svg)(.*) {
             proxy_pass http://myserver ;
             proxy_redirect off;
             proxy_set_header Host $host;
             proxy_cache_valid 200 302 1h;
             proxy_cache_valid 301 1d;
             proxy_cache_valid any 1m;
             expires 30d;
       }

        location / {
                proxy_pass http://myserverbcs;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

  yum install -y openssl openssl-devel

图片 6

解决问题

Paste_Image.png

解决办法 -> 服务器输入:

Nginx的负载分发策略
Nginx 的 upstream目前支持的分配算法:
1.轮询 ——1:1 轮流处理请求(默认)
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。
2.权重 ——you can you up
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
3.ip_哈希算法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。

查看防火墙状态

图片 7

  get 服务器文件 本地路径

Paste_Image.png

  firewall-cmd --state

参考1:https://www.cnblogs.com/ghjbk/p/6744131.html
参考2:http://blog.csdn.net/agangdi/article/details/41087921
参考3:负载均衡

当网站的访问量达到一定程度后 单台服务器不能满足用户的请求时 需要用多台服务器集群 可以使用nginx做反向代理 并且多台服务器可以合理分担负载 不会出现因为某台服务器负载高宕机而某台服务器闲置的情况

Paste_Image.png

  yum install -y zlib zlib-devel

图片 8

 

2.解压nginx压缩包.tar.gz

五 文件传输

解压后得到文件夹

输入SFTP命令连接 -> 输入实例登录密码

1.下载nginx

 

启动防火墙后增加80端口
[root@localhost ~]# firewall-cmd --add-port=80/tcp
success

 

开放80端口:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/udp
让firewall-cmd重新加载配置:
sudo firewall-cmd --reload
再次列一下当前防火墙配置看是否开放成功:
firewall-cmd --list-all

本文由金沙官网线上发布于操作系统,转载请注明出处:Linux 安装Nginx(使用Mac远程访问)

您可能还会对下面的文章感兴趣: