ubuntu nginx配置记录

一、安装

sudo apt get install nginx

二、检查启动

ps -ef | grep nginx

展示四个工作进程和一个守护进程表示正常启动。

三、修改配置

位置:/etc/nginx/sites-available/default
很多文章都说是/etc/nginx/nginx.conf 但我改的是这里 暂时不清楚什么区别

#指向服务器
server {
        listen 80;   # http默认端口 但是需要备案才能开通  https默认端口是443
        # 服务器的外部域名,使用地址也可以
        server_name localhost;
        location / {
              # 指向gunicorn host的服务地址 我这里使用的是gunicorn + flask 监听8080端口
              proxy_pass http://127.0.0.1:8080;
              proxy_set_header Host $host;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

#指向网站 静态页面
server {
	listen 80;
	listen [::]:80;

	server_name example.com;

	root /var/www/example.com;
	index index.html;

	location / {
		try_files $uri $uri/ =404;
	}
}

四、重启测试

检查配置:sudo nginx -t
重新加载并重启:sudo service nginx reload
客户端测试 如果是网页直接http://www.xxxx.com 看是否跳转nginx的欢迎界面

五、配置SSL证书

1 证书生成:https://www.lddgo.net/encrypt/ssl
2 下载证书解压得到 cert.pem , private.key 文件
3 将cert.pem private.key两个文件复制到 nginx目录: /etc/nginx/
4 修改配置
server {
	listen 443 ssl;
    #服务器的外部域名,使用地址也可以
    server_name xxxx.com;

    #填写证书文件名称
    ssl_certificate cert.pem;
    #填写证书私钥文件名称
    ssl_certificate_key private.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    #默认加密套件
    ssl_ciphers HIGH:!aNULL:!MD5;
    #表示优先使用服务端加密套件。默认开启
    ssl_prefer_server_ciphers on;

    location / {
          # 指向gunicorn host的服务地址
          proxy_pass http://127.0.0.1:8088;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

配置HTTP请求自动跳转HTTPS
server {
    listen 80;
    #填写证书绑定的域名
    server_name xxxx.com;
    #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    rewrite ^(.*)$ https://$host$1;
    location / {
       	#同上
    }
}

六、重启测试

配置ssl 请求的是https 看是否正常返回或者跳转

完结

你可能感兴趣的:(ubuntu,nginx,linux)