当前位置:   article > 正文

部署LAMP论坛平台【Linux Apache MySQL PHP(Python、Perl)】架构_lamp平台部署3台操作系统(一台测试机,一台部署php和apache,一台部署sshx和mysql

lamp平台部署3台操作系统(一台测试机,一台部署php和apache,一台部署sshx和mysql)

部署LAMP论坛平台

一、认识LAMP架构平台

LAMP架构是目前成熟的企业网站模式之一,指的是协同工作的一整套系统和相关的软件,能够提供动态的web网站服务站点及其应用开发环境。LAMP是Linux系统、Apache网站服务器、MySQL数据库服务器、PHP网页编程语言。

1、Apache网站服务特点

开放源代码;跨平台应用;支持各种web编程语言;模块化设计;运行非常稳定;良好的安全性。

2、认识MySQL数据库

MySQL是一个正真的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域最受欢迎的开源数据库系统。

3、认识PHP语言

PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。

二、部署LAMP架构

1、部署Apache平台
【1】上传httpd压缩包并解压
[root@localhost ~]# cd /opt
[root@localhost opt]# mkdir apache
[root@localhost apache]# ls
apr-1.6.2.tar.gz    apr-util-1.6.0.tar.gz   httpd-2.4.29.tar.bz2
[root@localhost apache]# tar zxvf apr-1.6.2.tar.gz
[root@localhost apache]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost apache]# tar jxvf httpd-2.4.29.tar.bz2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
【2】源码编译安装
#移动http所需的依赖包到http/srclib目录下
[root@localhost apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
#安装源码编译所需要的软件
[root@localhost httpd-2.4.29]# yum install -y \
> gcc \
> gсc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl
已安装:
  expat-devel.x86_64 0:2.1.0-11.el7    pcre-devel.x86_64 0:8.32-17.el7   
更新完毕:
  gcc.x86_64 0:4.8.5-39.el7            make.x86_64 1:3.82-24.el7        
  perl.x86_64 4:5.16.3-295.el7        
作为依赖被升级:
  cpp.x86_64 0:4.8.5-39.el7                                              
  expat.x86_64 0:2.1.0-11.el7                                            
  gcc-c++.x86_64 0:4.8.5-39.el7                                          
  gcc-gfortran.x86_64 0:4.8.5-39.el7                                     
  libgcc.x86_64 0:4.8.5-39.el7                                           
  libgfortran.x86_64 0:4.8.5-39.el7                                      
  libgomp.x86_64 0:4.8.5-39.el7                                          
  libquadmath.x86_64 0:4.8.5-39.el7                                      
  libquadmath-devel.x86_64 0:4.8.5-39.el7                                
  libstdc++.x86_64 0:4.8.5-39.el7                                        
  libstdc++-devel.x86_64 0:4.8.5-39.el7                                  
  perl-libs.x86_64 4:5.16.3-295.el7                                      
完毕!
#注意是在http目录下进行源码编译指定路径
[root@localhost apache]# cd httpd-2.4.29
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite 
--enable-charset-lite --enable-cg
 Server Version: 2.4.29
    Install prefix: /usr/local/httpd
    C compiler:     gcc -std=gnu99
    CFLAGS:          -g -O2 -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE  
    LDFLAGS:           
    LIBS:             
    C preprocessor: gcc -E
#编译
[root@localhost httpd-2.4.29]# make
#安装
[root@localhost httpd-2.4.29]# make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
【3】优化执行路径
#配置启动脚本
[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.29]# vim /etc/init.d/httpd
#chkconfig: 35 85 21 
#description: Apache is a World Wide Web server
##################设置配置文件#################
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# vim /etc/httpd.conf
ServerName www.lamp.com:80
Listen 192.168.60.20:80
#Listen 80
#####################命令识别设置################
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
【4】添加httpd系统服务
[root@localhost httpd-2.4.29]#  chkconfig --add httpd
[root@localhost httpd-2.4.29]# systemctl start httpd
[root@localhost httpd-2.4.29]# netstat -natp | grep 80                
tcp6       0      0 :::80     :::*      LISTEN      40082/httpd         
  • 1
  • 2
  • 3
  • 4
【5】验证(在浏览器上面输入服务器的IP地址)

在这里插入图片描述

2、部署MySQL数据库
【1】上传MySQL服务并解压
[root@localhost opt]# mkdir mysql
[root@localhost opt]# cd mysql/
[root@localhost mysql]# tar zxvf mysql-5.6.26.tar.gz
  • 1
  • 2
  • 3
【2】安装编译
#安装MySQL所需要的软件包
[root@localhost mysql]# yum -y install ncurses-devel autoconf cmake
#在MySQL目录下源码编译安装
[root@localhost mysql]# cd mysql-5.6.26
#注意大小写
[root@localhost mysql-5.6.26]# cmake \
#安装路径
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#字符解析
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
#配置文件目录存放位置
> -DSYSCONFIDIR=/etc \
#数据库数据管理用户目录
> -DMYSQL_DATADIR=/home/mysql/\
#数据库对接目录
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
-- Build files have been written to: /opt/mysql/mysql-5.6.26
[root@localhost mysql-5.6.26]# make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
【3】建立配置文件
[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes
  • 1
  • 2
【4】添加系统服务
#设置启动脚本文件
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# cd /etc/init.d/
#给脚本文件加执行权限
[root@localhost init.d]# chmod +x mysqld 
[root@localhost init.d]# chkconfig --add mysqld
#设置开机自启动
[root@localhost init.d]# chkconfig mysqld --level 35 on
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
【5】创建运行用户
[root@localhost init.d]# useradd -s /sbin/nologin mysql
#修改数据库执行文件的属主属组
[root@localhost init.d]# chown -R mysql:mysql /usr/local/mysql/
  • 1
  • 2
  • 3
【6】初始化数据库
[root@localhost init.d]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --data=/var/lib/mysql \
#数据库服务存放路径
> --basedir=/usr/local/mysql \
#数据库数据存放路径
> --datadir=/home/mysql
[root@localhost init.d]# vim mysqld 
basedir=/usr/local/mysql
datadir=/home/mysql
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
【7】设置全局环境变量
[root@localhost init.d]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost init.d]# source /etc/profile
  • 1
  • 2
【8】启动服务,创建数据库密码
[root@localhost init.d]# service mysqld start
Starting MySQL. SUCCESS! 
[root@localhost init.d]# mysqladmin -u root -p password "123123"
Enter password: (空密码)
Warning: Using a password on the command line interface can be insecure.
  • 1
  • 2
  • 3
  • 4
  • 5
3、部署PHP网页编程平台
【1】上传php并解压
[root@localhost opt]# mkdir php
[root@localhost opt]# ls
apache  mysql  php
[root@localhost opt]# cd php/
[root@localhost php]# rz -E
rz waiting to receive.
[root@localhost php]# ls
php-5.6.11.tar.bz2
[root@localhost php]# tar jxvf php-5.6.11.tar.bz2 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
【2】安装PHP所需的软件包
[root@localhost php]#  yum -y install \
> gd \
> libpng \
> libpng-devel \
> pcre \
> pcre-devel \
> libxml2-devel \
> libjpeg-devel
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
【3】源码编译安装
[root@localhost php]# cd php-5.6.11
[root@localhost php-5.6.11]# ./configure \
> --prefix=/usr/local/php5 \
> --with-gd \
> --with-zlib \
> --with-apxs2=/usr/local/httpd/bin/apxs \
> --with-mysql=/usr/local/mysql \
> --with-config-file-path=/usr/local/php5 \
> --enable-mbstring
[root@localhost php-5.6.11]# make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
【4】优化PHP执行路径
#启动脚本设置
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
#设置命令识别
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/
#设置配置文件
[root@localhost php-5.6.11]#  vim /etc/httpd.conf
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
#添加PHP网页文件
[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# vim index.php
<?php
phpinfo();
?>
[root@localhost ~]# service httpd start
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
【5】验证PHP服务是否启动

在这里插入图片描述

【6】安装论坛平台
[root@localhost opt]# mkdir discuz
[root@localhost discuz]# unzip Discuz_X2.5_SC_UTF8.zip 
#上传论坛到数据库中
[root@localhost discuz]# cp -r upload/ /usr/local/httpd/htdocs/bbs
#进入数据库中创建bbs数据库
[root@localhost discuz]# mysql -uroot -p
mysql> create database bbs;
mysql> use bbs;
#设置数据库用户名和密码
mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'admin123';
#刷新数据库
mysql> flush privileges;
mysql> quit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述
再安装论坛的时候发现文件权限不可写

【7】添加论坛目录的属主为daemon
[root@localhost discuz]# cd /usr/local/httpd/htdocs/bbs/
[root@localhost bbs]# chown -R daemon ./config 
[root@localhost bbs]# chown -R daemon ./data
[root@localhost bbs]# chown -R daemon ./uc_client/
[root@localhost bbs]# chown -R daemon ./uc_server/data/
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

【8】填写数据库信息

在这里插入图片描述

【9】安装完成

在这里插入图片描述
在这里插入图片描述

三、出现的问题及解决方案

1、问题1:上传
【1】报错信息

在使用xshell时出现下面的没有安装软件包所有无法使用rz命令

[root@localhost apache]# rz -E
-bash: rz: 未找到命令
  • 1
  • 2
【2】解决方法:
[root@localhost apache]# yum install lrzsz -y
  • 1
2、问题2:重启http服务
【1】报错信息
[root@localhost apache]#service httpd start出现下面报错
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
  • 1
  • 2
  • 3
  • 4
  • 5
【2】解决方法:
[root@localhost ~]#ps aux | grep apache
[root@localhost ~]#pkill -9 24627(进程号)
[root@localhost ~]#service httpd start
  • 1
  • 2
  • 3
3、问题3:安装论坛平台
【1】报错信息

最后一步安装出现密码等错误
在这里插入图片描述

【2】解决方法:
#查询数据库信息
mysql> select user,host from mysql.user;
+---------+-----------------------+
| user    | host                  |
+---------+-----------------------+
| bbsuser | %                     |
| root    | 127.0.0.1             |
| root    | ::1                   |
|         | localhost             |
| root    | localhost             |
|         | localhost.localdomain |
| root    | localhost.localdomain |
+---------+-----------------------+
7 rows in set (0.00 sec)
#删除数据库中空名数据库
mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)
#在查看
mysql> select user,host from mysql.user;
+---------+-----------------------+
| user    | host                  |
+---------+-----------------------+
| bbsuser | %                     |
| root    | 127.0.0.1             |
| root    | ::1                   |
| root    | localhost             |
| root    | localhost.localdomain |
+---------+-----------------------+
5 rows in set (0.00 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/810917
推荐阅读
相关标签
  

闽ICP备14008679号