安装nginx,一般是安装在/usr/local/nginx

nginx基本操作

cd /usr/local/nginx/sbin

启动 ./nginx
关闭 ./nginx -s quit

开机自动启动
vim /etc/rc.d/rc.local
在里面添加一行
usr/local/nginx/sbin/nginx

开启SSL

这样你的网站就可以使用https访问了,还会有绿色的代表安全的锁哦
依然是在西部数码申请证书,申请一年只需要8元

配置nginx

/usr/local/nginx/conf/nginx.conf
要正确填证书的位置,同时可以开启https和http共存

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen 80 default backlog=2048;
        listen       443 ssl;
        server_name  www.daozhao.com.cn;

        ssl_certificate      ssl/www.daozhao.com.cn.cer;
        ssl_certificate_key  ssl/www.daozhao.com.cn.key;

        #ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://127.0.0.1:3000;
            #root   /home/node;
            #index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

在启动nginx的可能会报错

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf

意思就是你的nginx未开启ssl模块

以下内容转载自[https://www.cnblogs.com/piscesLoveCc/p/6120875.html]
解决也比较容易,我们在编译的时候开启http_ssl_module模块就可以了

做个说明:我的nginx的安装目录是/usr/local/nginx这个目录,我的源码包在/usr/local/src/nginx-1.6.2目录

切换到源码包:

cd /usr/local/src/nginx-1.11.3

查看nginx原有的模块

/usr/local/nginx/sbin/nginx -V

在configure arguments:后面显示的原有的configure参数如下:
--prefix=/usr/local/nginx --with-http_stub_status_module 也可能会空哦

那么我们的新配置信息就应该这样写:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

运行上面的命令即可,等配置完

配置完成后,运行命令
make这里不要进行make install,否则就是覆盖安装

然后备份原有已安装好的nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)

cp ./objs/nginx /usr/local/nginx/sbin/

然后启动nginx,仍可以通过命令查看是否已经加入成功

/usr/local/nginx/sbin/nginx -V 

TIPS

如果意外出现443端口被占用的情况

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

可以使用sudo fuser -k 443/tcp杀掉占用进程,再启动nginx

分类: Linux

发表评论

电子邮件地址不会被公开。 必填项已用*标注