常用服务
Apache服务
1.安装
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭内核防火墙
yum -y install httpd 安装apache服务
netstat -tnpl 查看监听的端口
2.目录
/etrc/httpd/下的目录模块
conf 存储配置文件
conf.d 存储配置子文件
logs 存储日志 (访问日志:access_log 错误日志:error_log)
modules 存储模块
run 存储Pid文件,存放的pid号码。是主进程号
发布目录
index.html:默认主页名称
默认发布网站的目录:/var/www/html
系统产生apache账户,家目录是:/var/www
3.主配置文件
ServerRoot "/etc/httpd" #工作目录
Listen 80 #监听端口
Listen 192.168.2.8:80 #指定监听的本地网卡 可以修改
User apache # 子进程的用户,有可能被人改称www账户
Group apache # 子进程的组
ServerAdmin root@localhost # 设置管理员邮件地址
DocumentRoot "/var/www/html" # 发布网站的默认目录,想改改这里。
IncludeOptional conf.d/*.conf # 包含conf.d目录下的*.conf文件
# 设置DocumentRoot指定目录的属性
<Directory "/var/www/html"> # 网站容器开始标识
Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外
AllowOverride None # 对目录设置特殊属性:none不使用.htaccess控制,all允许
Require all granted # granted表示运行所有访问,denied表示拒绝所有访问
</Directory> # 容器结束
DirectoryIndex index.html # 定义主页文件,当访问到网站目录时如果有定义的主页文件,网站会自动访问
4.访问控制
配置文件: /etc/httpd/conf/httpd.conf
编辑配置
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted <------------主要修改这里来进行控制访问
<RequireALL>
Require all granted
...
</RequireALL>
</Directory>
权限访问:
Require all granted 所有人都可以访问
Require all denied 所有人不让访问
Require not ip [ip地址] 某个ip不能访问
5.虚拟主机
/etc/httpd/conf.d/[文件名称].conf
临时增加ip地址
ifconfig ens33:[数字] [增加的ip地址]
ifconfig ens33:[数字] [增加的ip地址] down 删除ip地址
ip addr add 192.168.2.199/24 dev eth0:0
水
(1).域名
1.编辑配置文件/etc/httpd/conf.d/[文件名称].conf
<VirtualHost [ip地址]:80>
DocumentRoot [发布目录]
ServerName [发布域名] #定义域名
<Directory '[发布目录]'>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
2.创建发布目录
mkdir [发布目路径]
3.创建发布文件
vim [发布目录路径]/index.html
4.重启httpd
5.修改windows的hosts文件添加ip 和发布域名
(2).端口
1.编辑主配置文件/etc/httpd/conf/httpd.conf
listen 80
listen 81
...
2.编辑配置文件/etc/httpd/conf.d/[文件名称].conf
<VirtualHost [ip地址]:[端口号]> #修改此处端口号
DocumentRoot [发布目录]
#ServerName [发布域名]
<Directory '[发布目录]'>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
3.创建发布目录
mkdir [发布目路径]
4.创建发布文件
vim [发布目录路径]/index.html
5.重启httpd
systemctl restart httpd
6.修改windows的hosts文件添加ip 和发布域名
(3).ip
1.编辑配置文件/etc/httpd/conf.d/[文件名称].conf
<VirtualHost [ip地址]:80> #定义ip地址
DocumentRoot [发布目录]
<Directory '[发布目录]'>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
2.创建发布目录
mkdir [发布目路径]
3.创建发布文件
vim [发布目录路径]/index.html
4.重启httpd
Nginx服务(nginx.org)
1.yum安装
1.编辑nginx.repo仓库
[nginx]
name=nginx
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
2.安装nginx
yum -y install nginx
3.查看配置文件(虚拟主机配置文件/nginx.conf)
cat /etc/nginx/conf/default.conf (主要修改这个)
cat /etc/nginx/nginx.conf
4.启动服务
systemctl start nginx
2.编译安装
- 安装编译 Nginx 依赖包(创建编译环境)
yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel
- 下载安装包
wget http://nginx.org/download/nginx-1.26.0.tar.gz
- 创建用户
useradd -s /sbin/nologin -M nginx
- 解压编译
tar zxvf nginx-1.26.0.tar.gz -C /usr/local/
/usr/local/nginx-1.26.0/目录下执行:
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/sbin/nginx \
--error-log-path=/var/log/nginx/nginx_error.log \
--http-log-path=/var/log/nginx/nginx_access.log \
--pid-path=/usr/local/nginx/run/nginx.pid
- 安装
/usr/local/nginx-1.26.0/目录下执行:
make && make install
- 系统添加nginx服务
vim /usr/lib/systemd/system/nginx.service
添加:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
tips:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
- 启动nginx
pkill nginx
systemctl daemon-reload
systemctl start nginx
PHP服务安装
1.编译安装
- 编译环境和依赖库安装
yum -y install gcc gcc-c++ glibc automake autoconf libtool make
yum -y install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel
- 创建安装目录
mkdir -p /usr/local/php7
- 升级cmake
移除cmake:
yum remove cmake -y
上传cmake或下载:
rz or curl -O https://cmake.org/files/v3.6/cmake-3.6.0-Linux-x86_64.tar.gz
解压:
tar xzvf cmake-3.6.0-Linux-x86_64.tar.gz
添加环境变量:
echo "export PATH=$PATH:/root/cmake-3.6.0-Linux-x86_64/bin" >> /etc/profile
vim /etc/profile
添加export PATH=$PATH:/root/cmake-3.6.0-Linux-x86_64/bin
source /etc/profile
- 安装libzip
下载或上床:
wget https://libzip.org/download/libzip-1.5.2.tar.gz or rz
解压:
tar -xzvf libzip-1.5.2.tar.gz
创建建立目录
mkdir /root/libzip-1.5.2/build -p
编译
cd /root/libzip-1.5.2/build
cmake ..
安装
make install
- 下载源码包
wget https://www.php.net/distributions/php-7.3.6.tar.gz
- 解压配置编译php
tar -xzvf php-7.3.6.tar.gz -C /usr/local/
cd /usr/local/php-7.3.6/
./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7 \
--with-config-file-scan-dir=/usr/local/php7/php.d \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache
- 解决off_t
vim /etc/ld.so.conf
添加
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
生效
ldconfig -v
- 编译安装php
make && makeinstall
- 创建php的初始化文件
cd /usr/local/php-7.3.6/
cp php.ini-production /usr/local/php7/etc/php.ini
- 配置php的配置文件
配置文件/usr/local/php7/etc/php.ini:
1371 session.save_path = "/tmp"打开注释
配置文件:/usr/local/php7/etc/php-fpm.conf:
cd /usr/local/php7/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
修改并取消注释:pid = /var/run/php-fpm.pid
配置文件/usr/local/php7/etc/php-fpm.d/www.conf:
cd /usr/local/php7/etc/php-fpm.d/
cp www.conf.default www.conf
vim www.conf
修改配置
user = nginx
group = nginx
listen = 127.0.0.1:900
- 设置profile
vim /etc/profile
最后一行添加
export PHP_HOME=/usr/local/php7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin
source /etc/profile
- 系统添加php-fpm服务
vim /lib/systemd/system/php-fpm.service
添加如下内容
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php7/sbin/php-fpm
ExecStop=/bin/pkill -9 php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 启动php-fpm
pkill php-fpm
systemctl daemon-reload
systemctl start php-fpm
Nginx配置支持php
1.配置nginx
vim /etc/nginx/nginx.conf
配置文件:
server {
listen 80;
server_name localhost;
location / {
root /usr/local/nginx/html;
index index.html index.htm index.php; <----------- 添加搜索index.php文件
}
location ~ \.php$ {
root /usr/local/nginx/html
include fastcgi_params; #指定nginx连接php-fpm的常量 <-------------添加
fastcgi_pass 127.0.0.1:9000; #连接php-fpm的地址和端口
fastcgi_index index.php; #指定默认页面
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #指定站点根目录
}
}
2.添加发布文件
vim /usr/local/nginx/html/index.php
文件:
<?php
phpinfo();
?>
3.重启配置
php:
systemctl restart php-fpm.service
nginx:
systemctl reload nginx