写在前面
- 云服务器使用腾讯云,系统为CentOS 7.2
- Node 8.11.x Express 4.16.0
Mongodb 3.4
安装Nginx
yum install nginx -y
启动
nginx
- 配置nginx.conf
当浏览器使用http访问域名时,将访问到服务器本地的8080端口
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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 /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
# include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
# 域名
server_name www.ssssss.cn;
# Load configuration files for the default server block.
#下面一行表示引入本文件外的配置
# include /etc/nginx/default.d/*.conf;
location / {
#前四行其实可以省略
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#代理本地8080端口
proxy_pass http://127.0.0.1:8080;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
# Settings for a TLS enabled server.
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name sysuygm.cn;
# root /usr/share/nginx/html;
# 证书配置
ssl_certificate "/etc/pki/nginx/sssss.crt";
ssl_certificate_key "/etc/pki/nginx/kkkkk.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://127.0.0.1:8080;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
- 遇到的问题
[root@VM_0_3_centos photo]# nginx -s reload
nginx: [warn] conflicting server name "www.ssssss.cn" on 0.0.0.0:80, ignored
记得,如果引入的配置文件与本文件内容冲突的话,将报错,这里的错误是域名配置和监听端口冲突。因为一开始我在另一个文件中配置了该域名转发到3000端口。解决问题后,重启nginx。
nginx -s reload
Node-Express应用
应用只需要监听端口8080即可。
安装Forever后台管理器
为了能在后台启动node服务器,使用Forever进行管理,使得
npm install forever -gd
使用Forever
forever --help
//后台启动
forever start app.js
//停止
forever stop app.js
结束。
更多干货
1) dockeradmin:kerAdmin是一个Docker管理面板,它把服务器端软件应用的安装行为简化到极致,堪称服务器端的应用宝,具有集群管理、自动故障转移、自动负载均衡等高级功能,可轻易搭建7*24小时在线的网站运行环境,包含PHP, JSP, GoLang, NodeJS, Python等网站运行环境。
2) LuManage:LuManager(LUM)是基于FreeBSD、Debian、Centos、Ubuntu、HttpOS等Linux/Unix系统的网站服务器管理软件,是目前国内市场上为数不多的同时支持Linux和Unix的网站服务管理软件