centos 7 安装LAMP环境

服务器防火墙配置

firewall-cmd --state  ##查看防火墙状态
systemctl start firewalld       ##启动Firewall
systemctl enable firewalld.service  ##设置开机自启动
systemctl enable firewalld.service  ##设置开机自启动1、firewall-cmd:是Linux提供的操作firewall的一个工具;
--permanent:表示设置为持久;
--add-port:标识添加的端口
--zone:指定某个区域
firewall-cmd --reload :重启生效
firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                               ##查看帮助

#添加 80 443 21 端口
firewall-cmd --state  ##查看防火墙状态
systemctl start firewalld       ##启动Firewall
systemctl enable firewalld.service  ##设置开机自启动
firewall-cmd --zone=public --add-port=80/tcp --permanent ##添加端口
firewall-cmd --zone= public --query-port=80/tcp ## 查看
firewall-cmd --zone= public --remove-port=80/tcp --permanent ##删除
firewall-cmd --reload   ##重新载入配置,比如添加规则之

# 配置文件目录:
cd /etc/firewalld/
cd /usr/lib/firewalld

安装nginx

一. gcc 安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

二. PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

四. OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

五. nginx 安装

1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

wget https://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
mkdir /data/server/nginx
groupadd nginx
useradd -r -g nginx nginx
./configure --prefix=/data/server/nginx \
--pid-path=/data/server/nginx/run/nginx.pid \
--conf-path=/data/server/nginx/conf/nginx.conf \
--error-log-path=/data/server/nginx/logs/error.log \
--http-log-path=/data/server/nginx/logs/access.log \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre \
--with-openssl=/data/soft/openssl-1.1.0c

Make
Make install

注意:如何with-openssl 报错,请下载安装OpenSSL 包
官网地址:https://www.openssl.org/source/

wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.0c.tar.gz 
cd openssl-1.1.0c

六、启动、停止nginx

cd /data/server/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload

指定配置文件启动:

/data/server/nginx/sbin/nginx -c /data/server/nginx/conf/nginx.conf

查询nginx进程:

ps aux|grep nginx

七、开机自启动

在rc.local增加启动代码:

vi /etc/rc.local

增加一行

  /data/server/nginx/sbin
   或者:/data/server/nginx/sbin/nginx -c /data/server/nginx/conf/nginx.conf

设置执行权限:

  chmod 755 rc.local

平滑启动nginx 命令

  kill -USR2 `cat /var/run/nginx.pid`
  kill -QUIT `cat /var/run/nginx.pid.oldbin

安装PHP

安装php 所需环境

yum -y install bzip2-devel libcurl-devel libmcrypt-devel
yum install php-mcrypt 
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel MySQL pcre-devel
yum -y install bison
yum -y install autoconf
yum -y install curl-devel
yum -y install libxslt-devel

下载安装并配置

到http://php.net/downloads.php官网找你需要的版本

 mkdir /data/server/php7  #创建php的安装目录
 wget http://cn2.php.net/distributions/php-7.2.11.tar.gz # 下载安装包
 tar –zxvf php-7.2.11.tar.gz # 解压php安装包
 cd php-7.2.11 #切换到安装包目录

##自定义配置

   ./configure --prefix=/data/server/php7 \
  --with-curl \
  --with-freetype-dir \
  --with-gd \
  --with-fpm-user=nginx \
  --with-fpm-group=nginx \
  --with-jpeg-dir \
  --with-png-dir \
  --with-gettext \
  --with-iconv-dir \
  --with-kerberos \
  --with-libdir=lib64 \
  --with-libxml-dir \
  --with-mysqli \
  --with-openssl \
  --with-pcre-regex \
  --with-pdo-mysql \
  --with-pdo-sqlite \
  --with-pear \
  --with-png-dir \
  --with-xmlrpc \
  --with-xsl \
  --with-zlib \
  --enable-fpm \
  --enable-bcmath \
  --enable-libxml \
  --enable-inline-optimization \
  --enable-ftp \
  --enable-mbregex \
  --enable-mbstring \
  --enable-opcache \
  --enable-pcntl \
  --with-pear \
  --enable-shmop \
  --enable-soap \
  --enable-sockets \
  --enable-sysvsem \
  --enable-xml \
  --enable-zip

编译安装

  make
  make install

拷贝配置文件:

 cp -rf php.ini-production /data/server/php7/etc/php.ini
 cd  /data/server/php7/etc
 cp -rf php-fpm.conf.default  php-fpm.conf
 cd /data/server/php7/etc/php-fpm.d
 cp -rf www.conf.default www.conf

修改配置文件php.ini

sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /data/server/php7/etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /data/server/php7/etc/php.ini
sed -i 's/short_open_tag = Off/short_open_tag = On/g' /data/server/php7/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /data/server/php7/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /data/server/php7/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /data/server/php7/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /data/server/php7/etc/php.ini
sed -i 's/register_long_arrays = On/;register_long_arrays = On/g' /data/server/php7/etc/php.ini
sed -i 's/magic_quotes_gpc = On/;magic_quotes_gpc = On/g' /data/server/php7/etc/php.ini

修改配置文件www.conf 根据服务器而定:

1、进程数优化

pm = dynamic
pm.max_children = 150
pm.start_servers = 12
pm.min_spare_servers = 10
pm.max_spare_servers = 20

2、最大请求数优化

 pm.max_requests = 1024

启动

修改 php7的目录的用户:

  cd /data/server/php7
  chown -R nginx:nginx *

指定配置文件启动:

/data/server/php7/sbin/php-fpm -c /data/server/php7/etc/php.ini -y /data/server/php7/etc/php-fpm.conf

安装mysql

下载

https://dev.mysql.com/downloads/mysql/ 选择自己合适的版本,我这里安装5.7

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 
groupadd mysql
useradd -r -g mysql mysql
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
cd mysql-5.7.23-linux-glibc2.12-x86_64
mv  ./* /data/server/mysql

新建mysql用户

修改当前目录拥有者为新建的mysql用户,命令如下:

cd /data/server/
chown -R mysql:mysql mysql

安装

安装mysql,命令如下:

 ./bin/mysqld --initialize --user=mysql --basedir=/data/server/mysql --datadir=/data/server/mysql/data

安装完成,出现如下信息,将随机生成的登录密码记录下来:+u9Xu=FPt!BZ
Xhte(4gZr;Lx

配置mysql

vim /etc/my.cnf
[mysqld]
datadir=/data/server/mysql/data
socket=/tmp/mysql.sock
basedir=/data/server/mysql
port=3306

开启mysql服务:

./support-files/mysql.server start
./support-files/mysql.server stop

将mysql进程放入系统进程中,命令如下:

cp ./support-files/mysql.server /etc/init.d/mysqld

mysql系统命令

service mysqld start #启动
service mysqld restart #重启
service mysqld stop #停止 
service mysqld  reload #重载
ps aux|grep mysql 查看mysql 进程 

修改密码

使用随机密码登录mysql数据库,命令如下:

/data/server/mysql/bin/mysql -u root -p

等待系统提示,输入随机密码,即可登录
进入mysql操作行,为root用户设置新密码(小编设为root):

alter user 'root'@'localhost' identified by 'rootroot';
SET PASSWORD FOR'root'@localhost=PASSWORD('root'); ## 或者使用该名修改

设置远程登录权限

设置允许远程连接数据库,命令如下:

  use mysql;
  
  update user set user.Host='%' where user.User='root';

刷新权限,命令如下:

flush privileges;

设置环境变量

编辑/etc/profile文件

 vi /etc/profile

在profile文件底部添加如下两行配置,保存后退出

PATH=/data/server/mysql/bin:/data/server/mysql/lib:$PATH

export PATH

设置环境变量立即生效

source /etc/profile

注:加入环境变量后即可使用 mysql -uroot -p

设置开机启动

 chkconfig mysqld on #设置开机启动
 chkconfig --add mysqld #或者使用这个命令添加
 chkconfig --list mysqld
 mysqld          0:1:2:3:4:5:6:关 #表明mysqld服务已经生效,在2345运行级别随系统启动而自动启动,以后可以使用systemctl 命令控制mysql的启动和停止。

Redis 安装

安装

$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make

后台启动redis服务
编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)

vi redis.conf

切换到 src 目录
启动命令:./redis-server /data/soft/redis-4.0.9/redis.conf

Mkdir /data/server/redis/ #新建一个redis 服务目录 

cp -rf ./src/redis-server /data/server/redis/ 
cp -rf ./src/redis-cli /data/server/redis/
cp -rf ./src/redis-benchmark /data/server/redis/
cp -rf ./redis.conf /data/server/redis/

###启动redis

 cd /data/server/redis/ # 切换到服务目录
 
 ./redis-server redis.conf #启动redis

安装redis php 扩展

wget https://github.com/edtechd/phpredis/archive/php7.zip
unzip php7.zip
cd phpredis-php7/
/data/server/php7/bin/phpize
./configure --with-php-config=/data/server/php7/bin/php-config
make
make install 

修改 php.ini
添加:`extension=redis.so`
  ````
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7 中安装 LAMPLinux, Apache, MySQL, PHP)是一个常见的步骤,用于搭建一个 Web 开发环境。以下是安装 LAMP 的一般步骤: 1. **安装 Apache**: 打开终端并运行以下命令安装 Apache HTTP Server: ```sh sudo yum install httpd ``` 安装完成后,启动服务并设置为开机启动: ```sh sudo systemctl start httpd sudo systemctl enable httpd ``` 2. **安装 MySQL**: ```sh sudo yum install mysql-server ``` 接着创建root用户密码并运行初始化脚本: ```sh sudo mysql_secure_installation ``` 配置完成之后,启动MySQL服务: ```sh sudo systemctl start mysqld sudo systemctl enable mysqld ``` 3. **安装 PHP**: CentOS 7默认使用的是 PHP-FPM (FastCGI Process Manager),可以通过 YUM 安装: ```sh sudo yum install php php-fpm php-mysql ``` 如果你需要最新版本的 PHP,可能需要添加额外的仓库。 4. **配置 PHP 与 Apache**: 需要修改 Apache 的配置文件 `httpd.conf`,添加 `IncludeOptional sites-available/*.conf` 行,并启用 PHP: ```sh sudo vi /etc/httpd/conf/httpd.conf ``` 然后,为你的网站创建一个 `.conf` 文件(例如 `example.com.conf`),并在其中添加 `AddType application/x-httpd-php .php` 和 `Action php5-script /php5.fcgi` 等内容。 5. **测试和重启**: 重启 Apache 使更改生效: ```sh sudo systemctl restart httpd ``` 可以在浏览器中访问 `http://localhost` 或你的域名来测试 LAMP 是否安装成功。 相关问题: 1. 如何检查 Apache 和 MySQL 是否已正确启动? 2. 如何安全地管理 MySQL 密码? 3. 如何在 CentOS 7 上安装和管理 PHP 的扩展?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值