前置条件:
1.已有云服务器,我用过的腾讯云服务器
2.域名已经购买,并且已经完成备案,
3.ssl证书已申请,我是在腾讯云申请的
步骤
1.
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
yum -y install pcre pcre-devel zlib zlib-devel
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
cd nginx-1.18.0/
# ssl需要
./configure --prefix=/usr/local/nginx --with-http_ssl_module
# 非ssl
./configure --prefix=/usr/local/nginx
make && make install
/usr/local/nginx/sbin/nginx -v
#检查有ssl
# ssl需要,非ssl不需要
cd /usr/local/nginx
mkdir cert
cp ~/nineming/myssl.key /usr/local/nginx/cert/
cp ~/nineming/myssl.pem /usr/local/nginx/cert/
PATH=$PATH:/usr/local/nginx/sbin/
firewall-cmd --add-port=443/tcp
firewall-cmd --add-port=80/tcp
编辑nginx配置(https需要,否则就用默认的即可)
vi /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name nineming.cn;
return 301 https://$server_name$request_uri;
}
server {
# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 域名,多个以空格分开
server_name nineming.cn;
# ssl证书地址
ssl_certificate /usr/local/nginx/cert/nineming.cn.pem; # pem文件的路径
ssl_certificate_key /usr/local/nginx/cert/nineming.cn.key; # key文件的路径
# ssl验证相关配置
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;
}
}
}
编辑systemctl管理
vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
载入配置与管理nginx
systemctl daemon-reload
systemctl status nginx
systemctl stop nginx
systemctl start nginx
最后,再将自己网站的前端文件,拷贝到nginx的目录下,删除html目录,并重命名自己的文件夹为html,搞定
rm -rf /usr/local/nginx/html
cp 自己官网前端代码文件夹 /usr/local/nginx/html