LAMP网站服务器部署

avatar
作者
猴君
阅读量:0

目录

一.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(); ?>

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!