ubuntu
下载地址:nginx: download
win安装包:nginx-1.25.1.zip
安装前请检查80和443端口是否已经被占用
安装
解压
tar -zxvf nginx-1.26.1.tar.gz
编译
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/
目录下。推荐为每个服务器配置块,配置一个不同的access
和error
。你可以将你的网站根目录设置在任何你想要的地方。最常用的网站根目录位置包括:
/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;
}