当前位置: 首页 > 后端技术 > Node.js

开始部署阿里云新服务器NODE

时间:2023-04-03 17:11:07 Node.js

启动后使用'yum-yupdate'升级1设置非root用户1.1添加新用户为你的服务器添加一个新用户useraddusernamepasswdusername//thenEnterpassword1.2设置ssh添加新用户后,设置root为非ssh登录。新用户可以ssh登录:修改/etc/ssh/sshd_configservicesshdreload后立即生效PermitRootLogin:yes-->PermitRootLogin:no这样可以禁止root用户登录。1.3附上一些命令useradd//添加用户passwd//设置用户密码userdel//删除用户usermod//修改用户信息groupadd//添加用户组groupdel//删除用户组groupmod//修改用户组信息groups//显示加入的用户组当前进程用户所属2配置git2.1思路我们假设你在服务器上设置了一个名为a的用户,那么我们上线的代码现在是在自己的电脑上写的,推送到git服务器上,然后被使用a用户下拉上线。然后我们在root上创建一个共享仓库,这样我们的电脑和用户a都可以向这个仓库拉取和提交代码。那么这个gitserver服务器应该怎么搭建呢?其实就是添加一个git用户useraddgitpasswdpassword//下面是升级git的,centosyum安装的git最高1.7//所以如果需要安装2.X的git,先卸载,然后下载源码编译安装yumremovegit//在https://www.kernel.org/pub/software/scm/gitsrcwgethttps://www.kernel.org/pub/上选择你要的版本software/scm/git/git-2.10.0.tar.gz//安装必要的工具包yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develyuminstallgccperl-ExtUtils-MakeMaker//解压tarxzfgit-2.10.0.tar。gzcdgit-2.10.0makeprefix=/usr/local/gitallmakeprefix=/usr/local/gitinstallecho"exportPATH=$PATH:/usr/local/git/bin">>/etc/bashrcsource/etc/bashrc2.2构建配置//在/srv下创建一个git文件夹,然后在gitcd/srvmkdirgitcdgitgitinit--bareproject.git//project是项目名,自定义//成功了将显示:InitializedemptyGitrepositoryin/srv/git/project.git///Giveownershiptothegitusercd../chown-Rgit:gitgit//在你自己的电脑上:gitclonegit@serverIP:/srv/git/project.git/*遗憾的是,上面的文字中有很多git,看清楚其实git对应的是文件夹名,git命令和用户名是三个东西。*/security:在安全方面考虑我们应该禁用git用户的shell登录vim/etc/passwd//找到这一行git:x:1001:1001:,,,:/home/git:/bin/bash//改为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell这样git用户可以通过ssh正常使用git,但是无法登录shell,因为我们为git指定的git-shell用户每次登录都会自动退出。3安装node3.1node安装//这种方式是源码编译安装,比较慢//确保安装了gccyum-yinstallgcc//下载node这里可以去官网看看你想要的版本号wgethttps://nodejs。org/dist/v5.6.0/node-v5.6.0.tar.gz//解压tar-zvxfnode-v5.6.0.tar.gz//打开配置,编译cdnode-v5.6.0./configuremake&&makeinstall//pm2&&express是商业化必不可少的npmi-gn//upgradenpmi-gexpressnpmi-gpm23.2pm2configuration//pm2startpm2startupcentos//createAprocesses.jsonfile{"apps":[{“名称”:“xxx”,“脚本”:“./bin/www”,“log_date_format”:“YYYY-MM-DDHH:mmZ”,“log_file”:“./logs/xxx。log","error_file":"./logs/xxx.log","out_file":"./logs/xxx.log","merge_logs":true,}]}//保存退出并启动pm2启动进程.json4Installandconfigurenginx4.1Installyuminstallnginxcd/etc/nginx//这里开始修改配置vimnginx.conf//->Here不详细解释配置:只要看看conf里面有没有这一段:include/etc/nginx/conf.d/*.conf;//退出后进入/etc/nginx/conf.d目录,新建配置文件vimxxx.com.conf//xxx.com是你的域名4.2配置文件//xxx.com.confupstreamnode{server127.0.0.1:3000;}server{listen80default_server;服务器名称xx.comwww.xx.com;包括/etc/nginx/default.d/*.conf;位置/{proxy_passhttp://node;}access_logxx/access.logmain;}4.3nginx的一些命令//测试配置文件是否有错误nginx-t-c/etc/nginx/nginx.conf//启动服务nginxstart//重启服务nginxrestart4.4添加SSL配置文件实例upstreamnode{server127.0.0.1:3000;}server{listen443ssl;服务器名称***;#你的域名sslon;ssl_certificate***.pem;#pem文件路径ssl_certificate_key***.key;#密钥文件路径ssl_session_timeout5m;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_ciphersAESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;ssl_prefer_server_ciphers开启;#禁止爬虫!如果你想做SEO!这个最好不要用if($http_user_agent~*"qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo!Slurp|雅虎!Slurp中国|YoudaoBot|Sosospider|Sogouspider|Sogouwebspider|MSNBot|ia_archiver|TomatoBot"){return403;}location/{deny123.126.113.134;deny111.251.93.84;proxy_passhttp://node;}access_log*.logmain;}5安装配置redis5.1installyuminstallgcc-c++yuminstall-ytclyuminstallwget//官网下载链接http://redis.io/wget链接//解压进入编译安装目录tar-xzvfredismvredis/usr/local/rediscd/usr/local/redismakemakeinstall5.2配置mkdir/etc/redismkdir/var/redismkdir/var/redis/logmkdir/var/redis/runmkdir/var/redis/6379//在redis解压根目录下找到配置文件模板,复制到如下位置cp/usr/local/redis/redis.conf/etc/redis/6379.conf//修改daemonize是requirepasspasswordthroughvimcommandpidfile/var/redis/run/redis_6379.pidlogfilecadir/var/redis/6379//最后运行redis:redis-server/etc/redis/6379.conf//测试链接redis-cli-h127.0.0.1-p6379-a'songhang'//切换服务redis_6379停止服务redis_6379start5.3确认启动执行第二步配置,确保daemonizeyesecho"/usr/local/redis/src/redis-server/etc/redis/6379.conf&">>/etc/rc.local6安装配置数据库MySQL6.1简单安装服务器端阿里云centos7.0系统。因为在centos中没有直接搜索mysql的软件(原因是百度),只有mariadb,大家可以随便起个名字,随便用。安装很简单://installyuminstallmariadbmariadb-server//startsystemctlstartmariadb//startsystemctlenablemariadb//root密码等相关mysql_secure_installation//loginmysql-uroot-p//新建用户createuser'username'@'localhost'identifiedby'password'开发机是MacBook,直接去官网下载Mysql,点击安装即可。接下来推荐一款图形界面工具:mysqlWorkBench。也是直接下载点击安装。注意:新版Mysql安装完成后,会弹窗给你一个初始化密码。6.2远程登录由于新建用户的主机定义了localhost,所以无法在开发机上登录。所以需要做一些调整//登录mysqlwithroot-uroot-p//进入mysql数据库usemysql;//修改host为通配符%updateusersethost='%'whereuser='username';//看看selecthost,userfromuser;刷新权限;6.3分配权限这时候我们就可以在开发机上登录新创建的用户了。当时我们发现我们没有权限,什么也做不了,所以应该给他分配一些权限。//root登录mysql-uroot-p//创建数据库(createdatabasesanyuelanv)createdatabasedatabaseName//授予用户所有操作该数据库的权限grantallondatabaseName.*tousername@'%';flush特权;后记:zsh因为我喜欢用ZSH,所以我把bash换成了zsh,加了oh-my-zsh。只有这样,我才能感到舒服。echo$SHELL//查看当前shell,一般结果为/bin/bashcat/ect/shells//查看bin下是否有zshyuminstallzsh//安装zshcat/ect/shells//再次查看chsh-s/bin/zsh//切换zshreboot//重启//重启完成后yuminstallgit//安装git//安装oh-my-zsh,安装完成后切换用户或重启wgethttps://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh-O-|sh//如果出现错误:warning:cannotsetLC_CTYPElocalevim/etc/profile//exportLC_ALL=en_US.UTF-8exportLC_CTYPE=en_US.UTF-8//Enable保存退出后添加源/etc/配置文件