Centos7 x64搭建Web Server(PHP,Nginx,Mysql5.7/8,Redis,Supervisor)

4 篇文章 0 订阅
2 篇文章 0 订阅

查看liunx系统版本
cat /etc/redhat-release
关闭SELinux
# 该安全模块开启时,对资源访问配置不正确时会导致403权限报错,建议新手选择关闭

# 查看开启状态 
sestatus -v

# 临时关闭(不用重启)
setenforce 0 

# 将SELINUX=enforcing改为SELINUX=disabled (需要重启系统)
vim /etc/selinux/config

#设置后需要重启才能生效
shutdown -r now
阿里开源镜像站

地址:https://developer.aliyun.com/mirror/

更换CentOS 镜像

地址:https://developer.aliyun.com/mirror/centos

Composer
#全局安装
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

#切换阿里云镜像源
全局配置:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
取消配置:composer config -g --unset repos.packagist
YUM操作
#查看
rpm -qa |grep -i mysql

#查找
yum search keyword

#安装
yum install -y package_name

#删除
yum remove package_name
创建web server运行用户
#增加用户
useradd -s /sbin/nologin -M www

#删除用户,把用户的主目录一起删除。
userdel -r www
Nginx安装与配置
安装
#安装nginx rpm软件包
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

#安装
yum install nginx -y

#设置开机启动
systemctl enable nginx

#启动服务
systemctl start nginx

#重启服务
systemctl restart nginx

#重新加载,重新配置之后,不希望重启服务,这时可以使用重新加载
systemctl reload nginx
一些配置
默认全局配置
#配置文件:nginx.conf

user  www; #更换运行用户
worker_processes  2; #默认进程数为1,为提高性能官方的建议是修改成cpu的内核数,可以减少机器io带来的影响

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

worker_rlimit_nofile 65535; #配置要和系统的单进程打开文件数一致,可通过 ulimit -n 命令查询

events {
    use epoll;
    
    #根据系统的最大打开文件数来调整,worker_connections进程连接数量要小于等于系统的最大打开文件数
    #worker_connections进程连接数量真实数量 = worker_connections*worker_process
    worker_connections  20480; # 根据本例,理论上单个进程允许的客户端最大连接数(65535/2)
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    client_max_body_size 25m;
    client_header_buffer_size 4k;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    server_tokens off; #隐藏nginx版本号

    access_log off; #关闭请求日志优化性能
    #access_log  /var/log/nginx/access.log  main;

    open_file_cache max=65535 inactive=20s;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  60;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
修改主配置文件
#配置文件:/etc/nginx/conf.d/*.conf
server {
    listen       80;
    server_name  xxx.com;
    return       301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name xxx.com;
    root  /data/unity-pc/public;
    index index.html index.htm index.php;

    ssl_certificate   /var/ssl/4517843_xxx.pem;
    ssl_certificate_key  /var/ssl/4517843_xxxx.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 10m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location / {
    	try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
       	fastcgi_pass   127.0.0.1:9000;
     	fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        include  fastcgi_params;
    }

    location ~ .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$ {
        expires 2d;
    }
 
    location ~ .*\.(?:js|css)$ {
        expires 8h;
    }
}
操作
#启动/停止/重启/重载配置
systemctl start/stop/restart/reload nginx

#卸载
yum remove nginx
rm -rf /etc/nginx/
PHP安装与配置
使用 REMI 源
#centos安装Remi源
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装PHP7.4
#安装php7.4
yum install -y --enablerepo=remi-php74 php php-cli

#安装常用扩展
yum install -y --enablerepo=remi-php74 php-fpm php-devel pcre pcre-devel php-mbstring php-mysqlnd php-pdo php-opcache php-gd php-redis php-xml php-pecl-zip php-posix
安装PHP8.0
#安装php8.0
yum install -y --enablerepo=remi-php80 php php-cli

#安装常用扩展
yum install -y --enablerepo=remi-php74 php-fpm php-devel pcre pcre-devel php-mbstring php-mysqlnd php-pdo php-opcache php-gd php-redis php-xml php-pecl-zip php-posix
一些配置
网站参数配置文件
# 修改程序运行用户、用户组
vim /etc/php-fpm.d/www.conf
user = www
group = www
#启动慢日志
request_slowlog_timeout = 3
配置文件权限
#如果不配置所有者和权限,会出现session读写错误,以及403执行权限失败
chown -R www:www /var/lib/php/session
chown -R www:www /data/website/ #项目目录
chmod -R +rw /var/lib/php/session
chmod -R +rw /data/website/
配置PHP.INI
vim /etc/php.ini

memory_limit = 128M
post_max_size = 30M;#需要小于memory_limit
upload_max_filesize =25M;#需要小于post_max_size
upload_tmp_dir = /tmp;www有读写权限的目录
date.timezone = Asia/Shanghai
操作
#切换PHP版本,如果服务器已经安装了其它PHP版本,请先删除PHP、以及PHP的所有扩展,然后再安装新版的PHP
$ yum remove php php-* gd

# 卸载所有编译安装的扩展
$ rm -rf /usr/lib64/php/modules/*.so
$ rm -rf /etc/php.d/*.ini

#开机启动/取消
systemctl enable/disable php-fpm

#启动/停止/重启/重载配置
systemctl start/stop/restart/reload php-fpm
Mysql5.7安装与配置
安装
#下载并安装MySQL官方的 Yum Repository
wget -i -c http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql*-community-release-*.noarch.rpm

#yum安装
yum install -y mysql-server
一些配置
#安装完成启动mysql,通过日志找到初始密码
grep "password" /var/log/mysqld.log

#根据初始密码,进入mysql,进行初始密码修改
ALTER USER 'root'@'localhost' IDENTIFIED BY 'z?guwrBhH7p?s66';

#修改数据库密码规则,即使用若口令也可成功,根据情况酌情设置
set global validate_password_policy=0;
set global validate_password_length=1;

#设置与更改用户密码
SET PASSWORD FOR 'dev'@'%' = PASSWORD('newpassword');
#当前用户修改密码
SET PASSWORD = PASSWORD("newpassword");

#客户端连接|远程登录设置,1:创建可以远程的用户,2:授权数据库操作 参考地址:www.cnblogs.com/sos-blue/p/6852945.html
CREATE USER 'dev'@'%' IDENTIFIED BY 'z?guwrBhH7p?s66';
flush privileges;

GRANT ALL ON databasename.* TO 'dev'@'%';
flush privileges;

#删除用户
DROP USER 'username'@'host';
操作
#开机启动/取消
systemctl enable/disable mysqld

#查看状态
systemctl status mysqld

#启动/停止/重启
systemctl start/stop/restart mysqld
Mysql8.0安装与配置
安装
# 切换tmp目录 下载rpm包
wget  https://repo.mysql.com/mysql80-community-release-el7.rpm

# 安装
rpm -ivh mysql80-community-release-el7.rpm

# 执行安装mysql8 命令
yum install mysql-community-server -y

# 启动mysql
systemctl start mysqld

# 查看初始密码
cat /var/log/mysqld.log | grep password

# 修改初始密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MysqlPass4!';
flush privileges;

# 创建新用户
CREATE USER 'username'@'%' IDENTIFIED BY 'MysqlPass4!';

# 授权用户访问权限 可操作test数据库内所有的表
GRANT ALL ON test.* TO 'username'@'%';
flush privileges;

# 修改用户加密密码加密方式
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'MysqlPass4!';
flush privileges;
一些配置
# 根据机器配置修改mysql innodb_buffer_pool_size
vim /etc/my.cnf
修改:innodb_buffer_pool_size = 4G 

# 查看最大连接数
show variables like "max_connections";

# 修改最大连接数
vim /etc/my.cnf
修改:max_connections=1000 并重启mysql

# 其他参见msyql5.7
redis5安装与配置
安装
yum install -y epel-release

#更新yum源
yum install -y https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

#安装
yum search redis

yum install -y redis5

systemctl start redis

#设置开机启动
systemctl enable redis
配置
vim /etc/redis.conf

#增加密码
requirepass xxxx
Supervisor安装与配置
安装
#yum安装
yum install -y epel-release
yum install -y supervisor

#开机启动
systemctl enable supervisord

#启动supervisord
systemctl start supervisord

#查看状态
systemctl status supervisord
一些配置
#修改主配置文件
vim /etc/supervisord.conf

#如需开启web访问界面 把[inet_http_server]模块的注释去掉,并修改IP、用户名与密码
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001        ; (ip_address:port specifier, *:port for all iface)
username=***              ; (default is no username (open server))
password=***               ; (default is no password (open server))

#重新加载配置文件后访问
http://127.0.0.1:9001

#找到以下配置项并修改,此后使用该目录做守护进程的配置文件目录
[include]
files = /etc/supervisord.d/*.conf

#重新载入配置文件
supervisorctl reload

#创建配置文件目录
mkdir -p /etc/supervisord.d

#在创建的目录中,新建laravel-work.conf,内容如下
[program:laravel-work]
process_name=%(program_name)s_%(process_num)02d
command=php /data/laravel.com/artisan queue:work --sleep=3 --tries=3 --timeout=85 --daemon
autostart=true
autorestart=true
user=root
numprocs=2
redirect_stderr=true
stdout_logfile=/home/log/laravel.com/worker.log

#执行命令使配置文件生效
supervisorctl reread
supervisorctl update

#运行指定任务
supervisorctl restart laravel-work:*

#重启指定任务的0号进程
supervisorctl restart laravel-work:laravel-work_00

# 启动/停止某一个任务
supervisorctl start laravel-work:*
supervisorctl stop laravel-work:*

#查看进程
ps -ef | grep laravel-work

#查看所有任务状态
supervisorctl status

#关闭所有任务 慎用
supervisorctl shutdown
lrzsz安装
#安装
yum install -y lrzsz

#发送文件到本地
sz filename

#本地上传文件到服务器
rz
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吹落的树叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值