摘要:通过命令行登陆阿里云服务器下载源码包进入下载路径其中文件是软件的自动脚本程序。运行自动脚本会完成两项工作一是检查环境,根据环境检查结果生成代码二是生成编译代码需要的文件。在服务器启动注意监听的端口与配置的要一致。
Install Nginx
0.通过ssh命令行登陆阿里云服务器
ssh root@your_ip_address
1.下载源码包
wget http://nginx.org/download/nginx-1.9.10.tar.gz
2.进入下载路径
$ ./configure $ make $ make install
其中configure文件是Nginx软件的自动脚本程序。运行configure自动脚本会完成两项工作:
Start Nginx一是检查环境,根据环境检查结果生成C代码;
二是生成编译代码需要的Makefile文件。
安装后程序在usr/local下面,执行
$ ./sbin/nginx查看是否启动成功
可以使用Linux自带的ps工具
ps -ef | grep nginx
root 14358 1 0 11:20 ? 00:00:00 nginx: master process ./sbin/nginx nobody 14359 14358 0 11:20 ? 00:00:00 nginx: worker process nobody 14360 14358 0 11:20 ? 00:00:00 nginx: worker process nobody 14361 14358 0 11:20 ? 00:00:00 nginx: worker process root 14433 14278 0 12:32 pts/1 00:00:00 grep --color=auto nginx
显示启动成功,包括一个主线程和三个worker线程。
配置nginx.conf下面是整个nginx.conf配置文件
#user nobody; worker_processes 3; . #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; 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 0; keepalive_timeout 65; #gzip on; upstream nodejs__upstream { server 127.0.0.1:3000; eepalive 64; } server { listen 80; server_name jianqunzhang.com www.jianqunzhang.com; #charset koi8-r; #access_log logs/host.access.log main; 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_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://nodejs__upstream; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ .php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache"s document root # concurs with nginx"s one # #location ~ /.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
其中主要增加修改如下配置
upstream nodejs__upstream { server 127.0.0.1:3000; keepalive 64; } server { listen 80; server_name jianqunzhang.com www.jianqunzhang.com; #charset koi8-r; #access_log logs/host.access.log main; 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_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://nodejs__upstream; }
其中proxy_set_header指令可以更改Nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给被代理的服务器。
在服务器启动nodejs,注意监听的端口与配置的nginx.conf要一致。本配置直接监听3000端口。
如果proxy_pass http://nodejs__upstream;在不设置http://时,要注意
upstream nodejs__upstream { server 127.0.0.1:3000; keepalive 64; }
的server 要加上http://,如
upstream nodejs__upstream { server http://127.0.0.1:3000; keepalive 64; }
启动nodejs后,访问所设置的域名即可。
Install PM2PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.
npm i pm2 -gstart app
pm2 start bin/www
到目前为止,整个项目算是跑起来了。记录一下同时也希望对小伙伴们有所帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39223.html
摘要:还有需要配置安全组,在阿里云控制台中进行配置,添加和端口,才能够访问到线上服务器。 在搭建web全栈的过程中,最令我头疼的就是项目的部署与上线,这个过程虽然简单,但是对于全栈菜鸟的我来说真的是个大坑,但是我还是去尝试,终于通过各种文档、请教与实践中完成了线上部署,在此做一下记录与总结 一、购买服务器 服务器选择:服务器的品牌有很多,如亚马逊、阿里云、腾讯等等,各大厂商之间的产品、服务...
摘要:前言之前做的几个项目都托管在阿里云服务器,但是最近要到期了。环境部署折腾了一天,其中也遇到几个坑。项目迁移历时一天,两台服务器的系统都是位。 前言 之前做的几个项目都托管在阿里云服务器,但是最近要到期了。想着到底要不要续期,毕竟100/月。后面看着阿里云有个活动,800/三年。果断买下。环境部署折腾了一天,其中也遇到几个坑。 目录 一、安装环境 1.1 安装NodeJS环境 ...
摘要:前言之前做的几个项目都托管在阿里云服务器,但是最近要到期了。环境部署折腾了一天,其中也遇到几个坑。项目迁移历时一天,两台服务器的系统都是位。 前言 之前做的几个项目都托管在阿里云服务器,但是最近要到期了。想着到底要不要续期,毕竟100/月。后面看着阿里云有个活动,800/三年。果断买下。环境部署折腾了一天,其中也遇到几个坑。 目录 一、安装环境 1.1 安装NodeJS环境 ...
阅读 901·2021-11-23 09:51
阅读 961·2021-11-18 10:02
阅读 1847·2021-09-10 11:27
阅读 3118·2021-09-10 10:51
阅读 753·2019-08-29 15:13
阅读 2012·2019-08-29 11:32
阅读 2472·2019-08-29 11:25
阅读 3025·2019-08-26 11:46