美文网首页JavaWebLinux学习之路我用 Linux
阿里云使用nginx启用https及运行springboot j

阿里云使用nginx启用https及运行springboot j

作者: Angeladaddy | 来源:发表于2017-05-05 09:49 被阅读3724次
    1. 首先,需要在阿里云申请免费一年的ssl服务
    2. 打开管理控制台-证书服务,下载证书for nginx
    3. 在服务器Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中(一个key文件和一个pem文件)
    4. 配置服务器nginx下nginx.config
    server {
            listen 443;
            server_name 你的域名;
            ssl on;     
            ssl_certificate   cert/你的证书.pem;
            ssl_certificate_key  cert/你的证书.key;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
            location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                    //你的项目端口号
                proxy_pass http://127.0.0.1:9999/;
                proxy_redirect off;
            }
        }
    

    spring boot pom设置

        <groupId>com.xxxxxx</groupId>
        <artifactId>xxxxxxxxxxxxxxxx</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
    
    *********
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <executable>true</executable>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    

    在项目根目录下执行 mvn clean package打包jar,打好的包在target下,将其上传服务器的某个目录
    运行项目方式

    1. java -jar xxxxxxxxxxxxxxxx.jar窗口关闭后就停止,显然不行

    2. nohup java -jar XXX.jar >temp.txt & 最后的&表示后台运行,并将console打印到temp.txt下,可通过jobs命令查看后台运行任务
      jobs
      那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
      如果想将某个作业调回前台控制,只需要 fg + 编号即可。
      fg 23
      查看某端口占用的线程的pid
      netstat -nlp |grep :9181

    3. 注册服务
      通过init.d 注册sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp,最后的那个myapp就是你要注册的服务名,这个命令实际是软连接,然后通过service myapp start|stop|restart管理就行。

    上述最后一种方式是最好的,也是官方推荐的方法,但我怎么试也不行,最后用第二种方式启动了。以后再研究吧。
    以上。

    相关文章

      网友评论

      • 義丨往昔灬岁月:我要是不用https. 就不需要nginx? nginx在这里只起证书作用吗
        義丨往昔灬岁月:@Angeladaddy 3Q; 个人小博客, 直接 jar运行, 懒得弄其他的了, 也不会....www.maocaoying.com
        Angeladaddy:一般不用nginx的机会很少,因为一般都需要做端口转发。不大可能让用户输入端口号访问。不过就问题来说,是的
      • swanky_yao:cert/你的证书.pem; 这个cert目录如果这样配置,必须将cert目录放在conf目录下
        Angeladaddy:嗯,改配置文件或者文件位置都行
        swanky_yao:@Angeladaddy 我昨天按你这个配置来搞的 启动的时候报错 我看错误日志打印出来是找不到那个文件 显示了绝对路径是根据Nginx安装目录比如(/opt/nginx/conf/cert).但是我存放的路径是`/opt/nginx/conf/cert`,我就直接mv到conf下就ok了。
        Angeladaddy:不用啊,我这样用了很久了

      本文标题:阿里云使用nginx启用https及运行springboot j

      本文链接:https://www.haomeiwen.com/subject/etyjtxtx.html