LAMP网站服务器部署

目录

一.LAMP介绍

二.YUM设置

三.编译安装HTTP服务

四.安装Mysql

五.安装PHP环境

六.部署论坛

七.其他 


一.LAMP介绍

LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和 相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具 体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、 Python)网页编程语言。本章将以源码编译的方式搭建 LAMP 环境,能够满足企业定 制化的需求。   在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。 其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后, 负责沟通 Web 服务器和数据库系统以协同工作。

二.YUM设置

如果yum可以正常使用,直接在线安装以下各种编译工具就可以下一步了。

yum -y install \
gcc \                              #C语言编译器
gcc-c++ \                          #C++编译器
make \                             #源代码编译器
pcre-devel \                       #pcre是一个perl函数库,包括perl 兼容正则表达式
expat-devel \                      #perl的接口开发包
perl \                             #支持网站解析HTML,XML文件
lbzip2                             #perl语言编译器                    
                          

如果不能正常使用yum,需要先重新配置Yum源再进行上面的步骤。重新配置方法可以尝试下面的(这里修改为阿里源)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

安装wget
yum install -y wget

备份本地源的配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

从阿里云下载新的配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

更新epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

更新缓存
yum makecache

安装常用小工具
yum install -y net-tools

三.编译安装HTTP服务

安装Apache所需软件

  • apr-1.6.2.tar.gz

  • apr-util-1.6.0.tar.gz

  • httpd-2.4.29.tar.gz

1.将上述三个软件包上传至根下的opt目录

[root@localhost opt]# cd /opt             #进入/opt目录下
[root@localhost opt]# ll                  #查看
[root@localhost opt]#
apr-1.6.2.tar.gz         apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2

2.解压软件包,并将apr-1.6.2 移动到httpd-2.4.29/srclib/apr目录下、将apr-util-1.6.0移动到httpd-2.4.29/srclib/apr-util目录下

[root@localhost opt]# tar xf apr-1.6.2.tar.gz

[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz

[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2     
//命令执行失败可能是应为没有bzip2,yum -y install bzip2下载一个再执行就解决了

[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

3. 配置环境依赖,编译及安装

[root@localhost opt]# cd /opt/httpd-2.4.29/

#执行配置
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

#编译,安装
make -j 2 && make install      # make -j 2 的2是你核心数,最大不要超过虚拟机的核心数(越多这一 
                                 步完成速度越快)

 4.安装过后,为apache配置文件和命令创建软连接

# 优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
# 这两条命令的实际效果是使得Apache服务器能够更好地融入到整个系统环境中,提高了系统的可移植性、
可维护性和可用性
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

5. 配置apache服务,完成后检查配置并启动服务。

#以centos7为例

vim /lib/systemd/system/httpd.service

[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID

# 检查语法
httpd -t 或 apachectl -t
# 启动服务
systemctl start httpd.service
netstat -anpt | grep 80

四.安装Mysql

提醒:安装 mysql ,服务器内存必须 4G 以上
1. 安装软件依赖
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

2.上传mysql安装包,进行解压

tar xf mysql-5.7.17.tar.gz -C /opt

# Boost 1.59.0是一个开源的C++库,它为C++标准库提供了广泛的扩展
tar xf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost

3.配置相关文件,编译及安装

注意:安装 mysql 报错基本都是内存不足造成
可以试下 echo 1 > /proc/sys/vm/drop_caches # 清除缓存
如果在 CMAKE 的过程中有报错,当报错解决后,需要把源码目录中的 CMakeCache.txt 文件删除,然后再重新CMAKE ,否则错误依旧。
cd /opt/mysql-5.7.17/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

#编译及安装
make -j 2 && make install

 创建普通用户管理mysql

# 创建普通用户管理mysql

useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
#修改配置文件
vim /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
auto-rehash
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_
VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_C
ONCAT,ANSI_QUOTES

4. 设置环境变量,方便调用命令

#设置环境变量,方便调用mysql命令

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

5. 初始化数据库,设置服务

#初始化数据库
cd /usr/local/mysql/bin/

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

#Mysql服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service
/usr/lib/systemd/system/

systemctl daemon-reload                      #刷新识别
systemctl start mysqld.service               #开启服务
systemctl enable mysqld                      #开机自启动
netstat -anpt | grep 3306                    #查看端口


# 给root账号设置密码
mysqladmin -u root -p password "123456"
# 直接回车

# root远程访问权限
mysql -uroot -p
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with
grant option;
mysql> flush privileges;

五.安装PHP环境

1.安装依赖,解压源码包
#安装GD库和GD库关联程序,用来处理和生成图片

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

cd /opt
tar zxvf php-7.1.24.tar.gz

2.配置相关文件,编译及安装

cd /opt/php-7.1.24/

./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer

make -j 2 && make install
#php配置文件
#复制模板文件,并进行修改
cp /opt/php-7.1.24/php.ini-development /usr/local/php7/php.ini

vim /usr/local/php7/php.ini

# 1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock

# 939行--取消注释,修改
date.timezone = Asia/Shanghai

#优化把 PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php7/bin/* /usr/local/bin/

3.修改 apache 配置,让其支持 php

# 修改Apache配置文件让Apache支持PHP
vim /etc/httpd.conf

# 添加index.php   //255,256,257为文件内行号
255 <IfModule dir_module>
256 DirectoryIndex index.html index.php
257 </IfModule>

# 在392行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

##检查156行默认支持php7的模块是否存在
LoadModule php7_module modules/libphp7.so

4.测试php网页

#创建、编辑php页面文件
# rm -rf /usr/local/httpd/htdocs/index.html

vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>

#重启服务
systemctl restart httpd.service
在网页测试 http://192.168.111.5/index.php ”(IP改成自己的)

六.部署论坛

1.数据库准备

mysql -u root -p

mysql> CREATE DATABASE bbs;

# 把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';

# 刷新数据库
mysql> flush privileges;

2.解压

# 解压论坛压缩包
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis

#上传站点更新包
cd /opt/dis/dir_SC_UTF8
cp -r upload/ /usr/local/httpd/htdocs/bbs

#切换论坛目录
cd /usr/local/httpd/htdocs/bbs

#更改论坛目录属主
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
web 安装界面,访问地址: http://192.168.111.5/bbs/install/

 

如遇到报错信息如下
Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in
/data/www/install/index.php:12 Stack trace: #0 {main} thrown in /data/www/install/index.php on
line 12
解决方法
# 致命错误 : 未捕获错误 : 未定义的函数的调用 set_magic_quotes_runtime() ,在这个文件的第 12 行,找到该路径下的index.php 这个文件打开,查找 set_magic_quotes_runtime
# 切换目录
cd /usr/local/httpd/htdocs/bbs/install
vim index.php 进行编辑
//
@set_magic_quotes_runtime(0);
// 替代成
@ini_set("magic_quotes_runtime",0)


问题解决后,应该可以访问论坛
 

七.其他 

编写 php 代码,测试数据库工作是否正常
mysql -u root -p

CREATE DATABASE sky;
GRANT all ON sky.* TO 'skyuser'@'%' IDENTIFIED BY 'admin123';
flush privileges;
vim /usr/local/http/htdocs/index.php

<?php
$link=mysql_connect('192.168.226.128','skyuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

  • 36
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值