• ECS配置lamp环境


    1、安装apache

      1.1 安装apache

    [root@nmserver-7 ~]# yum install httpd httpd-devel
    

      1.2 启动apache服务

    [root@nmserver-7 ~]# systemctl start  httpd

      1.3 设置httpd服务开机启动

    [root@nmserver-7 ~]# systemctl enable  httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

      1.4 查看服务状态

    [root@nmserver-7 ~]# systemctl status httpd
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: active (running) since 五 2017-07-21 17:21:37 CST; 6min ago
         Docs: man:httpd(8)
               man:apachectl(8)
     Main PID: 2449 (httpd)
       Status: "Total requests: 11; Current requests/sec: 0; Current traffic:   0 B/sec"
       CGroup: /system.slice/httpd.service
               ├─2449 /usr/sbin/httpd -DFOREGROUND
               ├─2450 /usr/sbin/httpd -DFOREGROUND
               ├─2451 /usr/sbin/httpd -DFOREGROUND
               ├─2452 /usr/sbin/httpd -DFOREGROUND
               ├─2453 /usr/sbin/httpd -DFOREGROUND
               ├─2454 /usr/sbin/httpd -DFOREGROUND
               ├─2493 /usr/sbin/httpd -DFOREGROUND
               ├─2494 /usr/sbin/httpd -DFOREGROUND
               └─2495 /usr/sbin/httpd -DFOREGROUND
    
    7月 21 17:21:35 nmserver-7.test.com systemd[1]: Starting The Apache HTTP Server...
    7月 21 17:21:36 nmserver-7.test.com httpd[2449]: AH00558: httpd: Could not reliably determine the server's fully q...ssage
    7月 21 17:21:37 nmserver-7.test.com systemd[1]: Started The Apache HTTP Server.
    Hint: Some lines were ellipsized, use -l to show in full.

      1.5 防火墙设置开启80端口

    [root@nmserver-7 ~]# firewall-cmd --permanent --zone=public  --add-service=http
    success
    [root@nmserver-7 ~]# firewall-cmd --permanent --zone=public  --add-service=https
    success
    [root@nmserver-7 ~]# firewall-cmd --reload
    success

      这里可能会提示错误

    FirewallD is not running


    1.通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。

    2.通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。

    3.再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。

    4.如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。

    5.END

    1.6确认80端口监听中

     
    [root@nmserver-7 ~]# netstat -tulp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      1084/sshd           
    tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN      1486/master         
    tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1084/sshd           
    tcp6       0      0 localhost:smtp          [::]:*                  LISTEN      1486/master         
    tcp6       0      0 [::]:http               [::]:*                  LISTEN      2449/httpd          
    udp        0      0 localhost:323           0.0.0.0:*                           592/chronyd         
    udp6       0      0 localhost:323           [::]:*                              592/chronyd   
     

    这时候可能你的服务器还是不能访问

    这是因为阿里云的安全策略还没有添加

    重新配置安全组公网规则

    原因分析:安全组默认没有放行网站使用的端口(如 80 端口)。您需要自行放行该接口。

    解决方法:

    1. 登录 ECS 控制台,找到该实例。
    2. 单击实例 ID,进入详情页,再单击本实例安全组 > 配置规则 >添加安全组规则。
    3. 根据网站使用的端口配置新的安全组规则,放行网站使用的端口,最后单击确定。

    1.8 查服务器IP

     
    [root@nmserver-7 ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:56:bc:cf brd ff:ff:ff:ff:ff:ff
        inet 192.168.8.9/24 brd 192.168.8.255 scope global ens33
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe56:bccf/64 scope link 
           valid_lft forever preferred_lft forever
    3: bridge0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
        link/ether ea:89:d5:c7:32:73 brd ff:ff:ff:ff:ff:ff
     

     1.9 浏览器登陆

    当你看到这个的时候,Apache已经安装完成了

    2、安装mysql

      2.1安装mysql

    [root@nmserver-7 ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel
    root@nmserver-7 ~]# rpm -qa |grep maria
    mariadb-libs-5.5.52-1.el7.i686
    mariadb-5.5.52-1.el7.i686
    mariadb-server-5.5.52-1.el7.i686
    mariadb-devel-5.5.52-1.el7.i686

      2.2 开启mysql服务,并设置开机启动,检查mysql状态

     
    [root@nmserver-7 ~]# systemctl start  mariadb 
    [root@nmserver-7 ~]# systemctl enable  mariadb 
    Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
    [root@nmserver-7 ~]# systemctl status  mariadb 
    ● mariadb.service - MariaDB database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
       Active: active (running) since 六 2017-07-22 21:19:20 CST; 21s ago
     Main PID: 9603 (mysqld_safe)
       CGroup: /system.slice/mariadb.service
               ├─9603 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
               └─9760 /usr/libexec/mysqld --basedir=/usr --datadir=/v...
    
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ...
    7月 22 21:19:16 nmserver-7.test.com mysqld_safe[9603]: 170722 21...
    7月 22 21:19:16 nmserver-7.test.com mysqld_safe[9603]: 170722 21...
    7月 22 21:19:20 nmserver-7.test.com systemd[1]: Started MariaDB ...
     
     
    [root@nmserver-7 ~]# netstat -tulp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      1084/sshd           
    tcp        0      0 0.0.0.0:mysql           0.0.0.0:*               LISTEN      9760/mysqld         
    tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1084/sshd           
    tcp6       0      0 [::]:http               [::]:*                  LISTEN      2449/httpd          
    udp        0      0 localhost:323           0.0.0.0:*                           592/chronyd         
    udp6       0      0 localhost:323           [::]:*                              592/chronyd 
     

      2.3 数据库安全设置

     
    [root@nmserver-7 ~]# mysql_secure_installation 
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    In order to log into MariaDB to secure it, we'll need the current
    password for the root user.  If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none):   //输入root的密码,首次安装直接按回车即可
    OK, successfully used password, moving on...
    
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    Set root password? [Y/n] y
    New password: 
    Re-enter new password: 
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    
    By default, a MariaDB installation has an anonymous user, allowing anyone
    to log into MariaDB without having to have a user account created for
    them.  This is intended only for testing, and to make the installation
    go a bit smoother.  You should remove them before moving into a
    production environment.
    
    Remove anonymous users? [Y/n] y
     ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n] n
     ... skipping.
    
    By default, MariaDB comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n] y
     - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n] y
     ... Success!
    
    Cleaning up...
    
    All done!  If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!
     

      2.4 登陆数据库测试

     
    [root@nmserver-7 ~]# mysql -uroot -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 11
    Server version: 5.5.52-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.02 sec)
    
    MariaDB [(none)]> 
     

    3、安装PHP

    /**这里安装的是PHP5.4.16 如果要安装php7.1请绕道文末**/

      3.1 安装php

    [root@nmserver-7 ~]# yum -y install php
    [root@nmserver-7 ~]# rpm -ql php
    /etc/httpd/conf.d/php.conf
    /etc/httpd/conf.modules.d/10-php.conf
    /usr/lib/httpd/modules/libphp5.so
    /usr/share/httpd/icons/php.gif
    /var/lib/php/session

      3.2 将php与mysql关联起来

     
    [root@nmserver-7 ~]# yum install php-mysql
    [root@nmserver-7 ~]# rpm -ql php-mysql
    /etc/php.d/mysql.ini
    /etc/php.d/mysqli.ini
    /etc/php.d/pdo_mysql.ini
    /usr/lib/php/modules/mysql.so
    /usr/lib/php/modules/mysqli.so
    /usr/lib/php/modules/pdo_mysql.so
     

      3.3 安装常用PHP模块

    [root@nmserver-7 ~]# yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath

    4 测试PHP

     
    [root@nmserver-7 ~]# cd  /var/www/html/
    [root@nmserver-7 html]# ls
    [root@nmserver-7 html]# pwd
    /var/www/html
    [root@nmserver-7 html]# vi info.php

    <?php
            phpinfo();
    ?>
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~        :wq
     

      3.5重启apache服务器

    [root@nmserver-7 html]# systemctl restart httpd

      3.6测试PHP

      在自己电脑浏览器输入ip/info.php,你可以看到已经安装的模块;

    4 安装php7.1

    如果你已经安装过老版本

    //卸载老版本

     -y remove php*

    //设置安装源

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    //查看

    yum search php71w

    所有的插件如下

    mod_php71w.x86_64 : PHP module for the Apache HTTP Server
    php71w-bcmath.x86_64 : A module for PHP applications for using the bcmath library
    php71w-cli.x86_64 : Command-line interface for PHP
    php71w-common.x86_64 : Common files for PHP
    php71w-dba.x86_64 : A database abstraction layer module for PHP applications
    php71w-devel.x86_64 : Files needed for building PHP extensions
    php71w-embedded.x86_64 : PHP library for embedding in applications
    php71w-enchant.x86_64 : Enchant spelling extension for PHP applications
    php71w-fpm.x86_64 : PHP FastCGI Process Manager
    php71w-gd.x86_64 : A module for PHP applications for using the gd graphics library
    php71w-imap.x86_64 : A module for PHP applications that use IMAP
    php71w-interbase.x86_64 : A module for PHP applications that use Interbase/Firebird databases
    php71w-intl.x86_64 : Internationalization extension for PHP applications
    php71w-ldap.x86_64 : A module for PHP applications that use LDAP
    php71w-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
    php71w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
    php71w-mysql.x86_64 : A module for PHP applications that use MySQL databases
    php71w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
    php71w-odbc.x86_64 : A module for PHP applications that use ODBC databases
    php71w-opcache.x86_64 : An opcode cache Zend extension
    php71w-pdo.x86_64 : A database access abstraction module for PHP applications
    php71w-pdo_dblib.x86_64 : MSSQL database module for PHP
    php71w-pear.noarch : PHP Extension and Application Repository framework
    php71w-pecl-apcu.x86_64 : APCu - APC User Cache
    php71w-pecl-apcu-devel.x86_64 : APCu developer files (header)
    php71w-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
    php71w-pecl-igbinary.x86_64 : Replacement for the standard PHP serializer
    php71w-pecl-igbinary-devel.x86_64 : Igbinary developer files (header)
    php71w-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
    php71w-pecl-imagick-devel.x86_64 : Imagick developer files (header)
    php71w-pecl-libsodium.x86_64 : Wrapper for the Sodium cryptographic library
    php71w-pecl-memcached.x86_64 : Extension to work with the Memcached caching daemon
    php71w-pecl-mongodb.x86_64 : PECL package MongoDB driver
    php71w-pecl-redis.x86_64 : Extension for communicating with the Redis key-value store
    php71w-pecl-xdebug.x86_64 : PECL package for debugging PHP scripts
    php71w-pgsql.x86_64 : A PostgreSQL database module for PHP
    php71w-phpdbg.x86_64 : Interactive PHP debugger
    php71w-process.x86_64 : Modules for PHP script using system process interfaces
    php71w-pspell.x86_64 : A module for PHP applications for using pspell interfaces
    php71w-recode.x86_64 : A module for PHP applications for using the recode library
    php71w-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
    php71w-soap.x86_64 : A module for PHP applications that use the SOAP protocol
    php71w-tidy.x86_64 : Standard PHP module provides tidy library support
    php71w-xml.x86_64 : A module for PHP applications which use XML
    php71w-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
    
    

    //安装php以及扩展

    //可以根据自己的需求选择

    yum install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath

    //开启服务

    service php-fpm start

    //设置开机启动

    systemctl enable php-fpm.service

    //检查开机自启动是否设置成功

    systemctl list-dependencies | grep php-fpm

    ps -ef | grep php-fpm

    //上面安装最基本的扩展包如果还想使用其他扩展包自己手动安装扩展命令

    yum search php71w    #查看所有包命令

    yum install php71w php71w-pdo     #完整命令,php71w-pdo 为自己想要安装的包

    测试PHP

     
    [root@nmserver-7 ~]# cd  /var/www/html/
    [root@nmserver-7 html]# ls
    [root@nmserver-7 html]# pwd
    /var/www/html
    [root@nmserver-7 html]# vi info.php

    <?php
            phpinfo();
    ?>
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~                                                                                        
    ~        :wq

    //重启Apache

     systemctl restart httpd

    4、设置虚拟主机

      4.1 修改apache默认的网站根目录

      apache配置文件路径:/etc/httpd/conf/httpd.conf

      DocumentRoot "/var/www/html"  修改为 DocumentRoot "/var/www"

      

      

      4.2 添加站点

    <VirtualHost *:80>
        DocumentRoot "/var/www/abc"
        ServerName www.abc.com
        ServerAlias abc.com
        <Directory "/var/www/abc">
            Options FollowSymLinks ExecCGI
            AllowOverride All
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        DocumentRoot "/var/www/lang"
        ServerName lang.abc.com
        ServerAlias lang.abc.com
        <Directory "/var/www/lang">
            Options FollowSymLinks ExecCGI
            AllowOverride All
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>
    </VirtualHost>
    

      

      //重启Apache

     systemctl restart httpd




  • 相关阅读:
    vue 中input的输入限制
    PC端百度地理围栏、绘制工具以及判断当前坐标是否再围栏中
    js判断鼠标点击的是哪个键
    vue过滤器的使用
    3.Mybatis的配置解析
    2.MyBatis的CRUD操作
    4.JVM类加载器深入解析及重要特性剖析
    3.JVM的接口初始化规则与类加载器准备阶段和初始化阶段的重要意义分析
    2.JVM的类加载器
    1.JVM如何学习
  • 原文地址:https://www.cnblogs.com/qq254980080/p/10205301.html
Copyright © 2020-2023  润新知