美文网首页云服务(阿里云&腾讯云)
云服务之腾讯云--服务器搭建--第三章:Mysql and Ng

云服务之腾讯云--服务器搭建--第三章:Mysql and Ng

作者: 回首潇潇雨歇处 | 来源:发表于2019-11-05 22:42 被阅读0次

      上回书说道采用 node 搭建了一个简易的服务器,本章我们将要介绍如何在云服务器上安装 mysql 以及 nginx, 如有不当之处,还望指正,谢谢。

    MySQL 的安装与配置

      mysql 使我们最常用到的关系型数据库了,其基本信息在这里也不絮叨了,直入正题

    yum isntall wget
    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum install mysql-community-server
    

    安装成功之后重启 mysql 服务

    service mysqld restart
    

    初次安装 mysql 时 root 账户是没有密码的, 设置密码的方法:

    mysql -uroot
    mysql> set password for `root`@`localhost` = password('mypassword');
    mysql> exit;
    

      接下来我们创建一个属于我们项目的数据库,并连接数据库


    one two

      接下来我们要想在自己的机器上通过第三方数据库可视化工具进行连接,需要我们将我们的数据库远程访问权限打开

    改表法

    我们新安装的数据库一般情况下是不允许从远程登录的,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

    mysql -u root -p 
    mysql> use mysql; 
    # %表示所有ip都可以进行远程访问
    mysql> update user set host = '%' where user = 'root';  
    # 或者直接添加一条语句     
    mysql> insert into user (host,user,password) values('192.168.11.110','root',password('123456'));  
    # 查看一下修改结果
    mysql> select host, user from user;    
    # 将修改的信息推送到内存中或重启服务器
    mysql> FLUSH PRIVILEGES 
    

    授权法

    在安装mysql的机器上运行:

    # 进入到mysql服务器
    mysql -h localhost -u root      
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
    # 赋予任何主机访问数据的权限
    比如我们想用 myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
    # 如果想允许用户myuser从ip为192.168.11.110的主机连接到mysql服务器,并使用mypassword作为密码
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.11.110'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    # 将修改的信息推送到内存中或重启服务器
    mysql>FLUSH PRIVILEGES   
    mysql>EXIT 
    

    接下来我们在本地电脑上采用 Navicat 连接我们云服务器上的数据库

    three

    Nginx 的安装与配置

    安装nginx

    参考: http://blog.csdn.net/ul646691993/article/details/52104082 采用 yum install 安装,依赖都包含了

    检查是否安装过 nginx

    $ find -name nginx
    # 如果已经安装过 nginx,就先卸载
    $ yum remove nginx
    # 查看本机 nginx 的地址
    nginx -t 
    

    接下来我们进行安装

    $ cd /opt
    # 去官网下载最新版的 nginx
    $ wget http://nginx.org/download/nginx-1.12.0.tar.gz  
    # 解压 nginx 压缩包
    $ tar -zxvf  nginx-1.12.0.tar.gz  
    $ cd  nginx-1.12.0
    # 接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装
    $ ./configure  #(--preifx=/usr/local/nginx)#     
    # 默认安装在/usr/local/nginx
    

    此时会报错

    err

    这是因为我们没有安装其依赖包,接下来我们回过头来进行安装其依赖环境
    首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

    安装方式一 安装包安装 成功

    $ yum install gcc-c++ 这个不需要安装包,直接使用yum命令就可以

    安装PCRE库
    $ cd /usr/local/
    $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
    $ tar -zxvf pcre-8.40.tar.gz
    $ cd pcre-8.40
    $ ./configure
    $ make
    $ make install
    
    安装zlib库
    $ cd /usr/local/ 
    $ wget http://zlib.net/zlib-1.2.8.tar.gz
    $ tar -zxvf zlib-1.2.8.tar.gz
    $ cd zlib-1.2.8
    $ ./configure
    $ make
    $ make install
    
    安装ssl
    $ cd /usr/local/
    $ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
    $ tar -zxvf openssl-1.0.1j.tar.gz
    $ ./config
    $ make
    $ make install
    

    完成以上安装之后,进行nginx的安装

    $ wget http://nginx.org/download/nginx-1.12.0.tar.gz
    $ tar -zxvf nginx-1.12.0.tar.gz
    $ cd nginx-1.12.0  
    $ ./configure 
    $ make
    $ make install
    

    安装完成后进行启动nginx:
    $ /usr/local/nginx/sbin/nginx

    检查是否启动成功:打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
    部分命令如下:

    # 重启
    $ /usr/local/nginx/sbin/nginx –s reload
    # 停止
    $ /usr/local/nginx/sbin/nginx –s stop
    # 测试配置文件是否正常
    $ /usr/local/nginx/sbin/nginx –t
    # 强制关闭
    $ pkill nginx
    
    安装方式二 没成功,还请各位指点,谢谢
    $   yum install gcc-c++
    $   yum install pcre pcre-devel  
    $   yum install zlib zlib-devel 
    $   yum install openssl openssl--devel  
    

    zlib 和 pcre安装时会报错,我们来看一看错误提示

    err

    在这里我们看一下第三个提示,我们机器已经包含有 zlib 的环境了,我们回过头来来尝试继续安装 nginx
    cd nginx-1.7.4 ./configure

    使用nginx进行我们的Node项目反向代理

    创建我们的配置文档 node-tencent.conf

    $ cd /usr/local/nginx
    $ mkdir myConfig
    $ cd myConfig
    $ vi node-tencent.conf
    
    upstream nodejs {
        server 127.0.0.1:3000;
        #server 127.0.0.1:3001;
        keepalive 64;
    }
    server {
        listen 80;
        server_name 172.0.0.1;
        access_log /opt/log/nginx/test.log;
        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_pass      http://nodejs;
        }
    }
    

    然后回到 /usr/local/nginx/conf下修改nginx.conf, 在http下加入我们刚才的配置文件

    include       /usr/local/nginx/myConfig/*;
    

    重启我们的nginx,使其重新加载配置文件, /usr/local/sbin/nginx -s reload

    在浏览器里直接输出我们的服务器IP地址就可以访问到了

    引自: 昭熙小乐的博客

    相关文章

      网友评论

        本文标题:云服务之腾讯云--服务器搭建--第三章:Mysql and Ng

        本文链接:https://www.haomeiwen.com/subject/qrcybctx.html