前言:
本文章适合新手使用
如发现问题可以跟我一起交流
QQ:346886407
邮箱 13883586973@163.com
不喜勿喷 哈哈
希望大家可以一起进步
基础语法
rpm -qa * #检查是否安装某个软件
yum -y install * #yum安装软件 安装的软件必须在yum源里面否则无法安装 -y全部确认
tar -zxvf *.tar.gz #解压gz包 z:解压*.gz文件 x:从压缩的文件中提取文件 v:显示执行过程 f:选择文件 tar参考 https://www.cnblogs.com/ftl1012/p/9255795.html
groupadd -r * #命令用于将新组加入系统-r:加入组ID号,低于499系统账号。
rpm -Uvh * #更新升级yum包
yum repolist all | grep mysql #查看可用的mysql版本以及禁用/启用情况
Vi /etc/yum.repos.d/mysql-community.repo #把里面的要用到的enabled改为1就可以了,其他的版本改为0 修改版本
ifconfig #查看内网ip
curl ifconfig.me #查看公网ip
总体步骤(Nginx 1.6.2+Mysql 8 +PHP 7.3.8)
1.安装Nginx(源码安装)
1.1安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
1.2 安装依赖
方法一(yum安装)
yum -y install pcre-devel ##nginx的rewrite伪静态匹配规则用到正则,pcre就用来干这个
方法二(源码安装)
[root@renchao /]# cd /usr/local/src/
[root@renchao src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
[root@renchao src]# tar -zxvf pcre-8.35.tar.gz
[root@renchao src]# cd pcre-8.35
[root@renchao pcre-8.35]# ./configure
[root@renchao pcre-8.35]# make && make install
[root@renchao pcre-8.35]# pcre-config --version
8.35 ##能看到这个证明安装成功
1.3下载及安装Nginx
[root@renchao src]# cd /usr/local/src/
[root@renchao src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
[root@renchao src]# tar -zxvf nginx-1.6.2.tar.gz
[root@renchao src]# cd nginx-1.6.2
[root@renchao src]# ./configure && make && make install
[root@renchao src]# useradd -s /sbin/nologin -M nginx ##创建Nginx用户
1.4修改配置文件
vim /usr/local/nginx/conf/nginx.conf
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 8M;
client_body_buffer_size 128k;
server {
listen 80;
server_name localhost;
gzip on;
gzip_min_length 1k;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 1h;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 1h;
}
location ~* ^.+\.(html|htm)$ {
expires 1h;
}
location ~* ^.+\.(eot|ttf|otf|woff|svg)$ {
access_log off;
expires max;
}
location / {
add_header 'Access-Control-Allow-Origin' '*';
autoindex on;
autoindex_localtime on;
root html;
index index.html index.htm;
if (!-f $request_filename) {
rewrite /(.*)$ /index.php/$1;
}
if (!-d $request_filename) {
rewrite /(.*)$ /index.php/$1;
}
}
location ~ \.php(.*)$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $1;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
fastcgi_param PHP_VALUE "open_basedir=$document_root";
include fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
1.5测试Nginx
vim /usr/local/nginx/html/index.html
Hello!!人潮
通过ip地址访问(在启动Nginx之后)
1.6Nginx操作命令
/usr/local/nginx/sbin/nginx ##启动Nginx
/usr/local/nginx/sbin/nginx -s stop ##停止
/usr/local/nginx/sbin/nginx -s reload ##重启
1.7添加环境变量
echo 'export PATH=$PATH:/usr/local/nginx/sbin/' >> /etc/profile
. /etc/profile
1.8加入系统应用
vim /etc/init.d/nginx
#!/bin/bash
function start()
{
/usr/local/nginx/sbin/nginx
}
function stop()
{
/usr/local/nginx/sbin/nginx -s stop
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage : start | stop | restart"
;;
esac
1.9授权
chmod +x /etc/init.d/nginx ##给予执行权限
systemctl daemon-reload ##重新加载服务(我的理解)
最后 开启Nginx,访问ip就就可以看到(若是虚拟机直接ifconfig可以看到ip,云服务器 curl ifconfig.me 可以看到IP地址)
2.安装mysql(yum安装)
2.1更新yum库
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2.1.1查看可用的mysql版本以及禁用/启用情况
[root@renchao /]# yum repolist all | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 118
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 95
mysql-tools-community-source MySQL Tools Community - Source disable
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community/x86_64 MySQL 5.7 Community Server disabled
mysql57-community-source MySQL 5.7 Community Server - S disabled
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 129
mysql80-community-source MySQL 8.0 Community Server - S disabled
2.1.2开启你要安装的版本
修改源文件,禁用5.7,启用8.0
vim /etc/yum.repos.d/mysql-community.repo**
把里面的8.0 enabled改为1就可以了,其他的版本改为0
2.1.3修改完之后查看可用版本
yum repolist enabled | grep mysql (显示8.0即为成功)
2.2yum安装mysql
yum install -y mysql-community-server
2.3mysql命令
systemctl start mysqld ##启动mysql
###开机启动设置(下面两部)
systemctl enable mysqld
systemctl daemon-reload
grep 'temporary password' /var/log/mysqld.log ##查看mysql初始随机密码
mysql -uroot -p #登录mysql,复制密码输入
2.4修改密码(mysql里面)
##改变mysql密码设置
mysql> set global validate_password.policy=0; #修改密码复杂度,默认为1,较为复杂
mysql> set global validate_password.length=1;
##修改root密码
mysql> ALTER USER 'root'@'localhost'' IDENTIFIED BY 'password';
2.5添加用户以及授权
mysql> CREATE USER `mysql`@`%` IDENTIFIED BY 'password';##添加用户
mysql> GRANT ALL ON *.* TO `mysql`@`%` WITH GRANT OPTION; ##用户授权
mysql> flush privileges; ##刷新权限
mysql> SET GLOBAL innodb_fast_shutdown = 1; ##允许远程连接
mysql> show databases; ##测试
3.安装php
3.1下载php
[root@renchao /]# cd /usr/local/src
[root@renchao src]# wget https://www.php.net/distributions/php-7.3.8.tar.gz
[root@renchao src]# tar -zxvf php-7.3.8.tar.gz
3.2编译
[root@renchao src]# cd php-7.3.8
[root@renchao php-7.3.8]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-freetype-dir=/usr/local/freetype \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--enable-pcntl \
--enable-ftp \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--enable-maintainer-zts \
--with-xsl
3.2.1 可能会出现的问题
error: Please reinstall the libzip distribution
error: off_t undefined; check your library configuration
3.2.2 问题一解决方法(参考:https://blog.csdn.net/qq_39034363/article/details/90547741)
yum -y remove libzip ##删除之前安装的libzip
##从新安装
[root@renchao src]# wget https://libzip.org/download/libzip-1.5.1.tar.gz
[root@renchao src]# tar -zxvf libzip-1.5.1.tar.gz
[root@renchao src]# cd libzip-1.5.1
[root@renchao libzip-1.5.1]# mkdir build
[root@renchao libzip-1.5.1]# cd build
[root@renchao build]# cmake .. ##可能你没有安装cmake 或者yum安装了 提示版本低 解决方法见下
[root@renchao build]# make && make install
3.2.2.1 cmake的解决方法
[root@renchao src]# wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
[root@renchao src]# tar -xvf cmake-3.9.2.tar.gz
[root@renchao src]# cd cmake-3.9.2
[root@renchao cmake-3.9.2]# ./configure
[root@renchao cmake-3.9.2]# make && make install
[root@renchao cmake-3.9.2]# hash -r
[root@renchao cmake-3.9.2]# cmake --version
3.2.3问题二解决方法(参考:https://www.jianshu.com/p/f73cc37b1053)
vim /etc/ld.so.conf
#加入内容
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
ldconfig -v #生效
3.2.4解决了问题之后重新编译 (见3.2)
3.3安装
[root@renchao php-7.3.8]# make && make install
3.4配置
3.4.1 添加php-fpm到系统启动目录
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
systemctl daemon-reload
3.1.2创建配置文件
vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
[nginx]
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = nginx
group = nginx
pm = dynamic
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
3.1.3操作命令
##启动:
systemctl start php-fpm
##停止:
systemctl stop php-fpm
##重启:
systemctl restart php-fpm
##开机启动:
chkconfig php-fpm on
##添加环境变量
echo 'export PATH=$PATH:/usr/local/php/bin/' >> /etc/profile
. /etc/profile
相关扩展
groupadd扩展
1.作用
groupadd命令用于将新组加入系统。
2.格式
groupadd -g gid] -r groupname
3.主要参数
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
4.应用实例
建立一个新组,并设置组ID加入系统:
#groupadd -g 123 www
此时在/etc/passwd文件中产生一个组ID(GID)是123的项目。
useradd扩展
参考:https://blog.csdn.net/davil_dev/article/details/6942128
参考(如有侵权请联系删除)
总体参考 https://blog.51cto.com/12173069/2177926
Nginx安装参考 https://www.runoob.com/linux/nginx-install-setup.html
mysql安装参考 https://blog.csdn.net/qq_43317529/article/details/83039252