ubuntu

下载地址:nginx: download

安装包:nginx-1.25.1.tar.gz

win安装包:nginx-1.25.1.zip

安装前请检查80和443端口是否已经被占用

安装

  1. 解压

tar -zxvf nginx-1.26.1.tar.gz
  1. 编译

make&&make install

出现报错make: *** No rule to make target 'build', needed by 'default'. Stop.

./configure

查看组件是否存在not fount,存在说明依赖的组件没安装

解决nginx缺少依赖包

  

sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl
sudo apt-get install gcc
sudo apt-get install openssl libssl-dev

  安装pcre依赖包:

    tar zxvf pcre-8.34.tar.gz   

    cd pcre-8.34    

    ./configure    

    make && make install

https

使用 Let’s Encrypt 免费申请泛域名 SSL 证书,并实现自动续期 - 平元兄 - 博客园

最新版 Let’s Encrypt免费证书申请步骤,保姆级教程_let's encrypt证书申请-CSDN博客

certbot certonly --nginx --nginx-ctl /usr/local/nginx/sbin/nginx --nginx-server-root /usr/local/nginx/conf

自动化续签

1、根据需求,选择下面两句话之一

更新证书

certbot renew --dry-run 

如果不需要返回的信息,可以用静默方式

certbot renew --quiet

2、加入crontab

crontab -e

3、加入命令(续签并重载nginx配置)

0 10  1 certbot renew --quiet && nginx -s reload

这里配置的是每周一 10点执行一次,根据个人需求更改配置即可

查询证书信息

certbot certificates

目录

Ubuntu安装之后的文件结构大致为:

  • 所有的 Nginx 配置文件都在/etc/nginx/目录下。

  • 程序文件在/usr/sbin/nginx

  • 并已经在/etc/init.d/下创建了启动脚本nginx

  • 主要的 Nginx 配置文件是/etc/nginx/nginx.conf

  • 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)

  • 为每个域名创建一个独立的配置文件,便于维护服务器。你可以按照需要定义任意多的 block 文件。

  • Nginx 服务器配置文件被储存在/etc/nginx/sites-available目录下。在/etc/nginx/sites-enabled目录下的配置文件都将被 Nginx 使用。

  • 最佳推荐是使用标准的命名方式。例如,如果你的域名是mydomain.com,那么配置文件应该被命名为/etc/nginx/sites-available/mydomain.com.conf

  • 如果你在域名服务器配置块中有可重用的配置段,把这些配置段摘出来,做成一小段可重用的配置。

  • Nginx 日志文件(access.log 和 error.log)定位在/var/log/nginx/目录下。推荐为每个服务器配置块,配置一个不同的accesserror

  • 你可以将你的网站根目录设置在任何你想要的地方。最常用的网站根目录位置包括:

    • /home/<user_name>/<site_name>

    • /var/www/<site_name>

    • /var/www/html/<site_name>

    • /opt/<site_name>

命令

Nginx启动,重启以及基本命令_nginx重启命令_Dyeln的博客-CSDN博客

启动命令

/etc/init.d/nginx start

重启

/etc/init.d/nginx restart 

重新加载配置文件

/etc/init.d/nginx reload

安全退出

/etc/init.d/nginx quit

多域名配置

nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。


每个域名一个文件的写法

首先打开nginx域名配置文件存放目录:/etc/nginx/sites-available ,如要绑定域名www.jecyp.com 则在此目录建一个文件:www.jecyp.com.conf然后在此文件中写规则,如:

server{

    listen 80;

    server_name www.itblood.com; #绑定域名

    index index.htm index.html index.php; #默认文件

    root /home/www/itblood.com; #网站根目录

    include location.conf; #调用其他规则,也可去除

}

然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart

一个文件多个域名的写法

一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:

server{

    listen 80;

    server_name www.itblood.com; #绑定域名

    index index.htm index.html index.php; #默认文件

    root /home/www/itblood.com; #网站根目录

    include location.conf; #调用其他规则,也可去除

}

 

server{

    listen 80;

    server_name msn.itblood.com; #绑定域名

    index index.htm index.html index.php; #默认文件

    root /home/www/msn.itblood.com; #网站根目录

    include location.conf; #调用其他规则,也可去除

}

不带www的域名加301跳转

如果不带www的域名要加301跳转,那也是和绑定域名一样,先绑定不带www的域名,只是不用写网站目录,而是进行301跳转,如:

server

{

    listen 80;

    server_name itblood.com;

    rewrite ^/(.*) http://www.itblood.com/$1 permanent;

}

添加404网页

       添加404网页,都可又直接在里面添加,如:

server{

    listen 80;

    server_name www.itblood.com; #绑定域名

    index index.htm index.html index.php; #默认文件

    root /home/www/itblood.com; #网站根目录

    include location.conf; #调用其他规则,也可去除

    error_page 404 /404.html;

}