Re从零开始的后端学习之配置Ubuntu+Ngnix+Nodejs+Mysql环境

前言

nodeJs是一条让前端更好地了解后端的捷径,网上的配置教程又比较分散,因此就从新统一组织了一下。javascript

配置Nginx

  1. 安装Nginx
sudo apt-get install nginx
复制代码
  1. 配置Nginx
sudo vim /etc/nginx/sites-available/default
复制代码

前往nginx的安装目录进行配置,不用版本的目录可能有所不一样,但大概都在差很少的地方,在sites-available目录下的default进行配置,咱们会发现有sites-available,sites-enabled两个很类似的目录,那为何要在sites-available目录下配置呢?那是由于sites-enabled只是一个软连接目录,相似于window的快捷方式,那确定是不能去改快捷方式的。php

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    
    # 若是要支持HTTPS,修改这里
    # 能够使用 https://letsencrypt.org 的免费SSL证书
    #listen 443 ssl;
    #ssl_certificate www.example.com.crt;
    #ssl_certificate_key www.example.com.key;
    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #ssl_ciphers HIGH:!aNULL:!MD5;
    
    # 重定向全部HTTP到HTTPS
	# rewrite ^(.*)$ https://$host$1 permanent;

	# 网站根目录,根据须要修改
    root /usr/share/nginx/html;
    # 增长index.php
    index index.php index.html index.htm;

	# 假设域名是 www.brandf.cn
    server_name www.brandf.cn; #绑定域名

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}
复制代码
  1. 而后能够按照命令检测一下Nginx是否启动正常
// 查看apache状态
sudo service apache2 status
// 关闭apache
sudo service apache2 stop
// 查看apache状态
sudo service apache2 status
// 启动nginx
sudo service nginx start
// 查看nginx状态
sudo service nginx status
复制代码

Ps:若是apache2在运行,ngnix是没法运行的css

  1. 网站优化配置
vim /usr/local/nginx/conf/nginx.conf
复制代码

Gziphtml

gzip on; //启用gzip压缩
gzip_min_length 1k; //小于1k的文件不压缩
gzip_buffers 4 16k;
#gzip_http_version 1.0; //这个注释掉
gzip_comp_level 5; //压缩等级分为1-10级,等级越高压缩的文件越小,时间也越长
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off; //跟缓存服务有关
gzip_disable "MSIE [1-6]\."; //禁用gzip服务的浏览器版本
复制代码

配置nodeJs

  1. 安装NodeJs
  • 网上大多都是以apt-get这种方式去下载安装的
  • 吐槽一下apt-get,这里的资源不知是多少年前的了,以前我安装的npm竟然是1.1版本,nodejs是0.1版本。这里发现了一个有趣的插曲0.1版本使用的命令是nodejs,不是node,nodejs的一次社区分裂多是问题的主要缘由,有兴趣能够了解一下。
  • www.infoq.com/cn/articles…
  • 这直接致使nodejs版本过低致使npm没法安装包,就连npm install -g npm自身更新都没法进行,这就比较尴尬了。

通过不懈的努力,终于找到了一种普适的方法。前端

  1. 从node官网下载已编译好了的node
wget https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.xz
tar -xvf node-v4.6.0-linux-x64.tar.xz
cd node-v4.6.0-linux-x64.tar.xz
复制代码
  1. 拷贝安装
sudo cp -r bin include lib share /usr/local/
复制代码
  1. 测试安装状况
node -v
复制代码
  1. 更新npm
npm install -g npm
复制代码
  1. 安装nodejs版本管理工具n
npm install -g n
复制代码
  1. 更新nodejs到稳定版本
n stable
复制代码

OK,一切都准备就绪,还差mysqljava


配置Mysql

  1. 安装mysql
sudo apt-get install mysql-server mysql-client
复制代码
  1. 检测是否安装成功
sudo netstat -tap | grep mysql
复制代码
  1. 安装好mysql后,用navicat进行远程链接,不出意外,首先会碰到2003错误,这是由于mysql对地址进行了绑定,只容许本地操做,不急,这很好解决。
  • 找到 vim /etc/mysql/mysql.conf.d/mysqld.cnf 相似这样的配置文件,不一样版本位置会有小小不一样
  • 加#号注释 bind-address = 127.0.0.1
  • 重启服务 /etc/init.d/sudo mysql restart
  • www.cnblogs.com/patrickding…
  1. 在设置好以后就会碰到1045错误,不要问我为何知道,那是mysql没有分配给你权限
  • 进入目录
cd /etc/init.d
复制代码
  • 进入mysql
mysql -h localhost -u root -p
// 输入安装时设置好的密码
复制代码
  • 进入mysql表
mysql>use mysql;
复制代码
  • 查看权限表
mysql>select host, user from user;
复制代码
  • 赋予地址为192.168.1.x的主机x权限,可进入x数据库,帐号youruser,密码yourpassword
mysql>GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'192.168.1.*' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
复制代码
  • 刷新一下,让配置生效
mysql>FLUSH PRIVILEGES;
复制代码
  • 须要取消权限时
mysql>Delete from user where user = "user_name" and host = "host_name" ;
复制代码
  • 让配置生效
mysql>FLUSH PRIVILEGES;
复制代码

All done

至此已配置好服务器node开发环境,能够开心地部署node服务了node

从零开始系列传送门

相关文章
相关标签/搜索