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 --quiet2、加入crontab
crontab -e3、加入命令(续签并重载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;
}