Nginx安装和卸载操作,HTTPS配置(linux + nginx +PHP + mysql)

一 : 卸载旧的nginx:

完全清除关联关系,删除对应文件或者文件夹。
比较靠谱的解决办法是:root权限下载命令行敲入如下命令:
rm -rf /etc/nginx/
rm -rf /usr/sbin/nginx
rm /usr/share/man/man1/nginx.1.gz
apt-get remove nginx*

原理就是删除关联文件以及文件夹。

二 : linux安装nginx

1 安装依赖

命令1:

yum install gcc

返回后下载完成确认输入"y" 回车(下面3个步骤一样):

Total download size: 6.9 M
Is this ok [y/d/N]: y

命令2:

yum install pcre-devel

命令3:

yum install zlib zlib-devel

命令4:

yum install openssl openssl-devel

//或者 一键安装上面四个依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2 .下载nginx的tar包

(我设置安装路径为/usr/local/nginx)

//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx

//下载tar包,请至官网选择http://nginx.org最新版本,我这是1.14.0
wget http://nginx.org/download/nginx-1.14.0.tar.gz

//解压包
tar -xvf nginx-1.14.0.tar.gz

//查看:是否成功解压(nginx-1.14.0 为解压文件夹)
[root@izj6c4358u3sd143jtegmtz nginx]# ls
nginx-1.14.0  nginx-1.14.0.tar.gz
3.安装nginx 非ssl
//进入nginx目录
cd /usr/local/nginx/nginx-1.14.0
//执行命令 [注意 ./configure命令后面没有编译ssh模块]
./configure

//执行make命令
make
//执行make install命令
make install
3.安装nginx 同时安装ssl
//进入nginx目录
cd /usr/local/nginx/nginx-1.14.0
//执行命令 [注意 ./configure命令后面没有编译ssh模块]
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

//执行make命令
make
//执行make install命令
make install
4. 设置配置文件
//测试nginx.conf的配置是否正确
/usr/local/nginx/sbin/nginx -t   

命令:
[root@izj6c4358u3sd143jtegmtz nginx]# /usr/local/nginx/sbin/nginx -t

返回成功信息:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
5 启动nginx服务 : 根据nginx.conf里的配置,启动nginx服务
命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@izj6c4358u3sd143jtegmtz nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

成功返回进程信息(25850进程号):
[root@izj6c4358u3sd143jtegmtz nginx]# ps -ef|grep nginx
root     25850     1  0 13:59 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/ngi
nx -c /usr/local/nginx/conf/nginx.conf                                                         
nobody   25851 25850  0 13:59 ?        00:00:00 nginx: worker process                          
root     25857 22885  0 13:59 pts/0    00:00:00 grep --color=auto nginx                        

(5.1 )如果是下面提示,说明端口被占用,

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

执行 
killall -9 nginx
启动:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
结束

重启命令是:/usr/local/nginx/sbin/nginx -s reload
6 测试启动服务是否成功:

直接网页打开你的ip地址:(默认打开的文件是/usr/local/nginx/html/index.html)

http://12.34.56.789/

网页成功显示:


Nginx安装和卸载操作,HTTPS配置(linux + nginx +PHP + mysql)_第1张图片
启动nginx
7 配置https

以本人购买阿里云ECS服务为例:官网配置

在腾讯云申请免费一年ssl证书后,可以进行下载:
安装证书
文件说明:

  1. 证书文件1527654392270.pem,包含两段内容,请不要删除任何一段内容。
  2. 如果是证书系统创建的CSR,还包含:证书私钥文件1527654392270.key。

####### ( 1 ) 在Nginx的安装目录conf 目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为1527654392270.key;

####### ( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:

# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}

( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

server {
    listen 443;
    server_name localhost;
 
  #旧版本的nginx需要设置ssl on
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/1527654392270.pem;
    ssl_certificate_key  cert/1527654392270.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 / {
        root html;
        index index.html index.htm;
    }
}

保存退出。

( 3 ) 如果需要配置ThinkPHP , 则相关设置:
升级到 nginx 1.15,reload之后所有带 ssl 的站点都报这个警告了,不需要再写 ssl on; 了。去 nginx.conf 删掉 ssl on; 之后,reload

# HTTPS server                                                                         
                                                                                         
server {                                                                               
        listen       443 ssl;                                                              
        server_name  www.miyuanlive.com;                                                   
                                                                                           
        set $root /home/www/miyuan/public;                                                         
                                                                                           
        ssl_certificate      cert/1527654392270.crt;                                       
        ssl_certificate_key  cert/1527654392270.key;                                       
        root           $root;                                                                      
        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 / {                                                                               
            root   $root;                                                                  
            index  index.html index.php index.htm;                                                           
            if (!-e $request_filename) {                                                                                 
                rewrite  ^(.*)$  /index.php?s=/$1  last;                                                         
                break;                                                                               
             }                                                                                           
         }            

        location ~ \.php($|/) {                                                                      
            root           $root;                                                             
            fastcgi_pass   127.0.0.1:9000;                                                 
            fastcgi_index  index.php;                                                      

            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;                                 
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;             

            fastcgi_param  PATH_INFO  $fastcgi_path_info;                                             
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;                

            include        fastcgi_params;                                                             
        }                                                                                  



        location ~ .*\.(css|js|gif|jpg|jpeg|png|bmp|swf)$ {                                        
             root         $root;                                                                   
             expires      30d;                                                                     
        } 

 }

( 4 )重启 Nginx。
重启命令是:/usr/local/nginx/sbin/nginx -s reload
端口被占用:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
执行杀掉进程:
killall -9 nginx
启动:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
结束

打开网页显示"安全" ,配置成功:


Nginx安装和卸载操作,HTTPS配置(linux + nginx +PHP + mysql)_第2张图片
图片.png

( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。如遇到证书不信任问题,请查看帮助视频。

你可能感兴趣的:(Nginx安装和卸载操作,HTTPS配置(linux + nginx +PHP + mysql))