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

栏目: Node.js · 发布时间: 7年前

内容简介:nodeJs是一条让前端更好地了解后端的捷径,网上的配置教程又比较分散,所以就重新统一组织了一下。前往nginx的安装目录进行配置,不用版本的目录可能有所不同,但大概都在差不多的地方,在sites-available目录下的default进行配置,我们会发现有sites-available,sites-enabled两个很相似的目录,那为什么要在sites-available目录下配置呢?那是因为sites-enabled只是一个软链接目录,类似于window的快捷方式,那肯定是不能去改快捷方式的。Ps:如
Re从零开始的后端学习之配置Ubuntu+Ngnix+Nodejs+Mysql环境

前言

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

配置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的快捷方式,那肯定是不能去改快捷方式的。

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是无法运行的

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

Gzip

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,一切都准备就绪,还差mysql

配置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;
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Cracking the Coding Interview

Cracking the Coding Interview

Gayle Laakmann McDowell / CareerCup / 2015-7-1 / USD 39.95

Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hund......一起来看看 《Cracking the Coding Interview》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具