安装PHP7.4
安装
yum install epel-release
yum -y install yum-utils
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum repolist all |grep php
yum-config-manager --enable remi-php74
yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis php-calendar php-bcmath php-sockets php-session php-snmp
php -v
php -m
检测php状态
service php-fpm status
启动
service php-fpm start
安装Composer
yum install -y ca-certificates
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/bin/composer
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer -v
安装nginx
- 首先,先去nginx官网下载压缩包:nginx: download
- 然后把压缩包上传到我们CentOS7上。
- 安装gcc环境(因为我们nginx底层其实是C语言开发的):yum install gcc-c++
- 然后接着输入命令:yum install -y pcre pcre-devel 这个是用于解析正则表达式用的。
- 然后,我们输入命令:yum install -y zlib zlib-devel 这个命令是用于zlib压缩和解压缩的。
- 最后,我们输入命令:yum install -y openssl openssl-devel 这个命令是SSL安全的加密的套接字协议层,用于HTTP安全传输,也就是HTTPS。
- 把前面我们上传的nginx进行解压操作:tar -zxvf nginx-1.16.1.tar.gz
- 编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错。输入命令:mkdir /var/temp/nginx -p
- 在nginx目录下,输入如下命令进行配置,目的是为了创建Makefile文件。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
命令 解释
--prefix 指定nginx安装目录
--sbin-path 指向(执行)程序文件(nginx)
--conf-path 指定nginx配置文件目录
--pid-path 指向nginx的pid
--lock-path 锁定安装文件,防止被恶意篡改或误操作
--error-log 错误日志
--http-log-path http日志
--with-http_gzip_static_module 启用gzip模块,在线实时压缩输出数据流
--http-client-body-temp-path 设定客户端请求的临时目录
--http-proxy-temp-path 设定http代理的临时目录
--http-fastcgi-temp-path 设定fastcgi的临时目录
--http-uwsgi-temp-path 设定uwsgi的临时目录
--http-scgi-temp-path 设定sgi的临时目录
--with-http_sub_module 启用ngx_http_sub_module支持(允许用一些其他文本替换nginx响应中的一些文本)
--with-http_ssl_module 启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl)
--with-http_flv_module 启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)
--with-http_gzip_static_module 启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)
- 接着在nginx目录中输入make&make install命令,进行编译操作。
- 接下来我们可以进行nginx的启动了,进入我们nginx的sbin目录下,输入命令:./nginx进行启动。
- 添加nginx的环境变量。输入:vim /etc/profile。
再在文件的最后加入export PATH=/usr/local/nginx/sbin:$PATH。
再输入source /etc/profile生效
安装docker
- 输入yum -y install docker安装docker。
添加镜像源
输入vi /etc/docker/daemon.json
在文件内添加
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com/"
]
}
- 输入$ sudo systemctl start docker启动docker。
- 输入$ sudo systemctl enable docker设置开机定时启动docker。
- 输入$ sudo systemctl restart docker重启docker。
通过docker安装Mysql
- 输入docker pull mysql 拉取镜像
- 输入docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql启动mysql
通过docker安装redis
- 输入docker pull redis拉取镜像
- 输入docker run -itd --name redis-shop --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 -v /home/web/redis/redis.conf:/etc/redis/redis.conf -v /home/web/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456来启动
- 在/home/web/redis/创建redis.conf文件,输入:
protected-mode no
port 6379
tcp-backlog 511
#redis密码 强烈建议设置复杂一些
requirepass 123456
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
- 保存退出,输入docker restart redis重启redis
部署
- 更改nginx的conf目录下nginx.conf文件,添加 include /usr/local/nginx/conf/server/*;
2. 然后进入nginx的conf目录下的server进行单独的laravel应用的配置
例:
server{
listen 2333 ;
server_name _;
root /home/web/shop/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
}
- 输入nginx -s reload重启nginx。