NGINX
./configure
make
make install
开机自启动
第一:vim /lib/systemd/system/nginx.service 内容如下:
[Unit]
#描述服务
Description=nginx
#描述服务类别
After=network.target
#服务运行参数的设置,注意【Service】的启动、重启、停止命令都要用绝对路径
[Service]
#后台运行的形式
Type=forking
#服务具体运行的命令
ExecStart=/usr/local/nginx/sbin/nginx
#重启命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload
#停止命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit
#表示给服务分配独立的临时空间
PrivateTmp=true
#运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
[Install]
WantedBy=multi-user.target
第二: 执行命令 systemctl enable nginx.service
额外指令:
nginx其他命令:
systemctl start nginx.service (启动nginx服务)
systemctl stop nginx.service (停止nginx服务)
systemctl enable nginx.service (设置开机自启动)
systemctl disable nginx.service (停止开机自启动)
systemctl status nginx.service (查看服务当前状态)
systemctl restart nginx.service (重新启动服务)
systemctl list-units --type=service (查看所有已启动的服务)
杀掉80端口号指令: fuser -k 80/tcp
在启动nginx时,报错误, nginx 未找到此命令 base: command not found
安装的linux版本为centos 7
经在网上查询后,找到答案,记录一下以后备查
需要把nginx所在的目录加入系统变量中
vi /etc/profile
在文件最后中添加
PATH=$PATH: /usr/local/nginx/sbin/nginx
export PATH
保存并退出
执行source /etc/profile 使配置文件生效后,即可.
MYSQL
https://dev.mysql.com/downloads/mysql/5.7.html 选中 linux Generic 即可
先本地下载 ,下载很慢,使用迅雷下载,直接满速下载,芜湖
链接:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar 解压之后 拿里面的一个非test的压缩包 上传至服务器
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql57
chmod -R 755 /usr/local/mysql57
这里指定了 mysql 用户
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql57/data --basedir=/usr/local/mysql57
出现 :2022-04-21T02:53:25.673761Z 1 [Note] A temporary password is generated for root@localhost: f?FWdgp0trf)
vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql57/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1
mysql command not found
添加快捷:ln -s /usr/local/mysql57/bin/mysql /usr/bin
ln -s /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql57/bin/mysql
//重启mysql服务
service mysql restart
————————————————
//开机启动
//将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld
//赋予可执行权限
chmod +x /etc/init.d/mysqld
//添加服务
chkconfig --add mysqld
//显示服务列表
chkconfig --list
远程连接数据库
要修改数据库用户表数据执行mysql指令
update user set user.Host='%' where user.User='root';
重启mysql
添加端口
//开放3306端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//配置立即生效
firewall-cmd --reload
额外指令:
开启防火墙命令
systemctl start firewalld
关闭防火墙命令
systemctl stop firewalld
systemctl unmask firewalld
systemctl status firewalld
虚拟机开启80端口
1、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld / firewall-cmd --state 这个命令也可以,只是信息会简单点
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
怎么开启一个端口
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
添加端口外部访问权限(这样外部才能访问)
firewall-cmd --add-port=80/tcp
重新载入,添加端口后重新载入才能起作用
firewall-cmd --reload
这些之后,端口是开启成功的,如果没有成功,重启系统试试。
查看端口
firewall-cmd --zone=public --query-port=80/tcp
删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
查看firewall是否运行,下面两个命令都可以
systemctl status firewalld
firewall-cmd --state
查看当前开了哪些端口
其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。
查看开启了哪些服务
firewall-cmd --list-services
查看开启了哪些端口
firewall-cmd --list-ports
查看还有哪些服务可以打开
firewall-cmd --get-services
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
更新防火墙规则:
firewall-cmd --reload
查看端口访问权限情况
firewall-cmd --query-port=6379/tcp
添加端口外部访问权限
firewall-cmd --add-port=6379/tcp
————————————————
//修改mysql 密码
set password for root@localhost = password('12345678');
PHP
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --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-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --enable-zip
PHP 7.1的编译
./configure --prefix=/usr/local/php7.1 --with-config-file-path=/usr/local/php7.1/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-mcrypt --with-libmbfl --enable-ftp --with-gd --enable-gd-jis-conv --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm
php 7.4的编译
./configure --prefix=/usr/local/php7.4 --with-config-file-path=/usr/local/php7.4/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-mcrypt --with-libmbfl --enable-ftp --with-gd --enable-gd-jis-conv --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm
make & make install
额外
默认:
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
//php解压包位置
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
例子php7.4:
cp /usr/local/php-7.4.28/php.ini-production /usr/local/php7.4/etc/php.ini
cp /usr/local/php7.4/etc/php-fpm.conf.default /usr/local/php7.4/etc/php-fpm.conf
cp /usr/local/php7.4/etc/php-fpm.d/www.conf.default /usr/local/php7.4/etc/php-fpm.d/www.conf
//php解压包位置
cp /usr/local/php-7.4.28/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm-7.4
chmod +x /etc/init.d/php-fpm-7.4
php-fpm的启动、停止和重启:
service php-fpm start #启动
service php-fpm stop #停止
service php-fpm restart #重启
————————————————
添加执行权限
chmod a+x /etc/init.d/php-fpm
#chmod a+x /etc/init.d/php-fpm-7.4
加入服务
chkconfig --add php-fpm
#chkconfig --add php-fpm-7.4
开机自启
chkconfig php-fpm on
#chkconfig php-fpm-7.4 on
查看服务列表:
chkconfig --list
位置:/usr/local/php
REDIS
wget https://download.redis.io/releases/redis-4.0.9.tar.gz
make
make install PREFIX=/usr/local/redis4.0.9
一般把配置文件放至到 /etc/redis/6379.conf 具体参考 /usr/local/redis-4.0.9/utils/redis_init_script 指令中的配置,可类似进行修改(进行比照参考)
开机启动
第一步:
复制redis 解压包中的脚本文件redis_init_script (记得修改脚本中目录位置) 至 /etc/init.d/redisd 如:cp /usr/local/redis-4.0.9/utils/redis_init_script /etc/redis-4.0.9/redisd
文件位置 /usr/local/redis-4.0.9/utils/redis_init_script
第二步:
#设置为开机自启动服务器
chkconfig redisd on
#打开服务
service redisd start
#关闭服务
service redisd stop
额外:
设置为开机自启动,直接配置开启自启动 chkconfig redisd on
发现错误: service redisd does not support chkconfig
解决办法,在启动脚本开头添加如下注释来修改运行级别:
#!/bin/sh
# chkconfig: 2345 90 10
service redisd stop
出现:
Stopping ...
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
其实是我们的配置文件中给redis 赋值了密码 那么脚本中也要增加密码
编辑文件:/etc/redis-4.0.9/redisd
在里面 找到else 中对应位置 增加如下 即可
$CLIEXEC -a "redis配置中的密码" -p $REDISPORT shutdown
PHPREDIS
菜鸟教程:
$ wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz
$ tar zxvf 3.1.4.tar.gz # 解压
$ cd phpredis-3.1.4 # 进入 phpredis 目录
$ /usr/local/php/bin/phpize # php安装后的路径
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install
修改php.ini文件
vi /usr/local/php/lib/php.ini
增加如下内容:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
我的安装:
phpredis 5.3.7版--- github 突然打不开, 只好使用gitee下载zip
上传至虚拟机
将文件解压至 /usr/local/phpredis-5.3.7
模仿菜鸟教程即可:
第一步 : 先将目录切换到解压包的目录 cd /usr/local/phpredis-5.3.7
第二步 :生成configure[执行对应php版本的指令--每个解压目录只能安装一次,php7.4的指令:/usr/local/php7.4/bin/phpize] 执行指令/usr/local/php/bin/phpize
可能会遇到问题:Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解决方案:yum install autoconf
只要记住一点,报什么错误就解决什么错误就行
第三步 初始化 ./configure --with-php-config=/usr/local/php/bin/php-config (./configure --with-php-config=/usr/local/php7.4/bin/php-config)
第四步:make
第五步:make install
这一步 最后返回:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20160303/
这里可以复制这个路径 第七步会使用,如果不复制也问题不大,一般都是在我们安装php的目录下的lib/extensions/ 在这个目录下可以找到"no-debug-zts-20160303"类似的名字 就是php扩展包的位置
第六步:修改配置php.ini 具体可以通过查看phpinfo() 安装php7.1的配置目录在/usr/local/php/etc/php.ini
第七步:增加配置内容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303"
extension=redis.so
MONGODB
https://www.mongodb.com/try/download/community
下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.8.tgz
解压文件 得到mongodb-linux-x86_64-rhel70-5.0.8 目录 修改目录名为mongodb5.0.8
然后执行指令:export PATH=/usr/local/mongodb5.0.8/bin:$PATH
问题:mongodb版本大于5的 需要cpu支持avx 我的计算机不支持 所以无法启动
重新下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.13.tgz
解压文件 得到mongodb-linux-x86_64-rhel70-4.4.13 目录 修改目录名为mongodb4.4.13
然后执行指令:export PATH=/usr/local/mongodb4.4.13/bin:$PATH
php-mongodb:
mongodb 的编译安装与phpredis 相似
或者如果是php版本为(version >= 7.2.0, version <= 8.99.99)
执行:/usr/local/php7.4/bin/pecl install mongodb
/usr/local/mongodb4.4.13/etc/mongodb.conf
内容如下:
#可外部访问
bind_ip=0.0.0.0
#端?
port = 27017
# 数据库?件存放路径
dbpath = /var/lib/mongo
# ???件存放路径
logpath = /var/log/mongodb/mongodb.log
# 使?追加的?式写?志
logappend = true
# 以守护进程的?式运?,创建服务器进程
fork = true
# 最?同时连接数
maxConns = 1000
# 不启?验证
noauth = true
# 每次写?会记录?条操作?志(通过journal可以重新构造出写?的数据)。
journal = true
启动指令:
/usr/local/mongodb4.4.13/bin/mongod --config /usr/local/mongodb4.4.13/etc/mongodb.conf
这是直接连接 mongodb
/usr/local/mongodb4.4.13/bin/mongo
添加开机启动
vi /etc/profile
在文件最后中添加
PATH=$PATH:/usr/local/mongodb4.4.13/bin/
export PATH
保存并退出
执行source /etc/profile 使配置文件生效后,即可.
使?system管理mongo服务设置开机启动
?先创建mongodb.service?件,并编辑
vim /lib/systemd/system/mongodb.service
添加如下内容:
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb4.4.13/bin/mongod --config /usr/local/mongodb4.4.13/etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb4.4.13/bin/mongod --shutdown --config /usr/local/mongodb4.4.13/etc/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务
systemctl start mongodb.service
关闭服务
systemctl stop mongodb.service
开机启动
systemctl enable mongodb.service