nginx+php+apache+mysql+composer+redis安装(centos7系统)

该博客详细介绍了nginx、php-fpm、mysql等软件的安装过程,包括依赖安装、编译、配置等步骤。还提及将nginx添加到环境变量、配置php.ini、解决常见错误等内容,如php.ini不生效、mysql启动问题等,同时介绍了composer、swoole、redis等的安装与配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 安装nginx
    nginx的编译安装比较简单,但它依赖gcc,openssl,pcre,zlib等几个模块,需提前安装这几个软件,免得等下安装nginx时报错。
    yum install gcc openssl-devel pcre-devel zlib-devel -y
    1.下载nginx安装包 http://nginx.org/en/download.html
    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    2.解压压缩包
    tar xzvf nginx-1.10.1.tar.gz
    3.进入nginx文件 安装
    cd nginx
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre
    4.编译及安装
    make && make install
    5.启动nginx
    /usr/local/nginx/sbin/nginx #启动 nginx 服务
    /usr/local/nginx/sbin/nginx -s stop #停止 nginx 服务
    6.启动 nginx 服务后,可以通过 ps -aux | grep nginx 查看进程
    ps -aux | grep nginx
    在浏览器输入ip地址 就可以看到
    Welcome to nginx!

    /usr/local/nginx/sbin/nginx #启动 服务
    /usr/local/nginx/sbin/nginx -s reload #不停止服务重读配置文件
    /usr/local/nginx/sbin/nginx -s stop #停止服务 #停止服务

    #加入到开机自启动
    vi /etc/rc.local
    #添加
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &
    #重启 init 6
    #如果没有成功 则添加权限
    chmod o+x /etc/rc.local
    #重启 init 6

将nginx添加到环境变量中

vi /etc/profile

添加

export PATH="$PATH:/usr/local/nginx/sbin:"

更新环境变量

source /etc/profile
#重启nginx
nginx -s reload


include /etc/nginx/conf.d/*.conf;

chkconfig gogs on
开启自启服务器

server {
listen 80;
server_name your_server_ip; # your_server_ip为服务器IP或绑定的域名

location / {
proxy_pass http://127.0.0.1:3000;
}
}



2.安装php-fpm
1.软件依赖
yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel

1.下载安装包    http://php.net/get/php-7.2.0.tar.gz/from/a/mirror
    wget http://cn2.php.net/get/php-7.2.0.tar.gz/from/this/mirror
2.然后解压php 
    tar -zxvf 文件名
3.安装依赖
    yum install gcc gcc++ libxml2-devel
    yum -y install gcc-c++
    yum install curl curl-devel
4.进入解压文件并配置安装位置
    cd php-7.0.7/
    ./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib  --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64
    //另外
./configure --prefix=/usr/local/php-fpm --enable-opcache --enable-fpm --enable-sockets --enable-mysqlnd --enable-mbstring --enable-gd-native-ttf --enable-bcmath  --with-pdo-mysql --with-gd --with-jpeg-dir=/usr/lib64 -with-freetype-dir=/usr/lib64 --with-curl --with-openssl    

./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --enable-opcache --enable-fpm --enable-sockets --enable-mysqlnd --enable-mbstring --enable-gd-native-ttf --enable-bcmath --with-pdo-mysql --with-gd --with-jpeg-dir=/usr/lib64 -with-freetype-dir=/usr/lib64 --with-curl
–with-openssl --disable-fileinfo
5. 编译并安装
make && make install
6.安装完毕后配置php
复制一份配置文件
cd /usr/local/php-fpm/etc/
cp php-fpm.conf.default php-fpm.conf

  1. 安装mysql
    1. 安装依赖
      yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
    2. 下载mysql #https://dev.mysql.com/downloads/mysql/5.7.html#downloads
      wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.22.tar.gz
    3. 解压 压缩包
      tar -zxvf 文件名
    4. 编译ll
      cmake
      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
      -DMYSQL_DATADIR=/mydata/mysql/data
      -DSYSCONFDIR=/etc
      -VDMYSQL_USER=mysql
      -DWITH_MYISAM_STORAGE_ENGINE=1
      -DWITH_INNOBASE_STORAGE_ENGINE=1
      -DWITH_ARCHIVE_STORAGE_ENGINE=1
      -DWITH_MEMORY_STORAGE_ENGINE=1
      -DWITH_READLINE=1
      -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock
      -DMYSQL_TCP_PORT=3306
      -DENABLED_LOCAL_INFILE=1
      -DENABLE_DOWNLOADS=1
      -DWITH_PARTITION_STORAGE_ENGINE=1
      -DEXTRA_CHARSETS=all
      -DDEFAULT_CHARSET=utf8
      -DDEFAULT_COLLATION=utf8_general_ci
      -DWITH_DEBUG=0
      -DMYSQL_MAINTAINER_MODE=0
      -DWITH_SSL:STRING=bundled
      -DWITH_ZLIB:STRING=bundled
      如果报错 :
      1.在/usr/local下创建一个名为boost的文件夹
      mkdir -p /usr/local/boost
      2.在文件夹内下载 #https://sourceforge.net/projects/boost/files/boost/1.67.0/ (报错时查看需要的版本)
      wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
    5. 解压压缩包
      tar -zxvf 文件名
      返回mysql文件夹继续编译
      cmake
      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
      -DMYSQL_DATADIR=/mydata/mysql/data
      -DSYSCONFDIR=/etc
      -VDMYSQL_USER=mysql
      -DWITH_MYISAM_STORAGE_ENGINE=1
      -DWITH_INNOBASE_STORAGE_ENGINE=1
      -DWITH_ARCHIVE_STORAGE_ENGINE=1
      -DWITH_MEMORY_STORAGE_ENGINE=1
      -DWITH_READLINE=1
      -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock
      -DWITH_BOOST=/usr/local/boost
      -DMYSQL_TCP_PORT=3306
      -DENABLED_LOCAL_INFILE=1
      -DENABLE_DOWNLOADS=1
      -DWITH_PARTITION_STORAGE_ENGINE=1
      -DEXTRA_CHARSETS=all
      -DDEFAULT_CHARSET=utf8
      -DDEFAULT_COLLATION=utf8_general_ci
      -DWITH_DEBUG=0
      -DMYSQL_MAINTAINER_MODE=0
      -DWITH_SSL:STRING=bundled
      -DWITH_ZLIB:STRING=bundled
      编译:
      make && make install
      如果内存不足报错
      sudo dd if=/dev/zero of=/swapfile bs=8M count=1024
      sudo mkswap /swapfile
      sudo swapon /swapfile
      重新编译 编译完成时
      sudo swapoff /swapfile
      sudo rm /swapfile


    cp php.ini-production /etc/php.ini
    cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm   
    cp php-7.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/rc.d/init.d/php-fpm 
7.设置权限并启动php-fpm:
    chmod 755 /etc/init.d/php-fpm
    /etc/init.d/php-fpm start
    chkconfig –add php-fpm
8.最后给出php-fpm 以服务的方式启动停止和重启:
    service php-fpm start
    service php-fpm stop
    service php-fpm reload


cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
/usr/local/php/sbin/php-fpm -t



复制配置文件到php文件夹下
cp php.ini-development /usr/local/php-fpm/lib

// 配置nginx 解析php
1.php的默认安装位置上面已经指定为/usr/local/php,接下来配置相应的文件:
cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin
2.然后设置php.ini,使用: vim /usr/local/php/lib/php.ini 打开php配置文件找到cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0
cgi.fix_pathinfo = 0
3.另外注意一个地方就是php.ini配置文件的位置可以在编译前配置参数中设置,编译参数可以写成:–with-config-file-path=/usr/local/php 这样的话php就回去指定的目录下读取php.ini配置文件,如果不加这个参数默认位置就是php安装目录下的lib目录,具体也可以在phpinfo()输出界面查看,如果php.ini放到其他位置,php读取不到,那么所有的配置修改后都是不生效的,这点要注意
groupadd www
useradd -g www-data www
4.如果此时随便在一个位置添加,那么接下来启动php-fpm的时候,会报目录找不到的错误,所以不要在php-fpm.conf中添加用户和组,这个时候翻到php-fpm.conf最后一行会发现如下内容(如果编译时添加–prefix选项以下位置会自动补全,默认是下面是空的,要注意):
include=NONE/etc/php-fpm.d/.conf
这里引入了php-fpm.d目录下所有的conf配置文件,但是NONE需要修改为我们的实际目录:/usr/local
include=/usr/local/etc/php-fpm.d/
.conf
5.默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
6.默认user和group的设置为nobody,将其改为www
user = www
group = www
// 重启php-fpm
7.启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:
 9000端口正常使用,说明php-fpm服务启动成功
8.然后执行 vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:
location / {
root /www;
index index.php server.php index.html;
}
9.然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:
location ~* .php$ {
root \www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name;
include fastcgi_params;
}
10.修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www 修改完这些保存并退出,然后重启nginx:
/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx
11. 接下来测试是否更改成功;

常见错误

php.ini 不生效 #查询php.ini应在位置

php -i | grep php.ini

打不开很有可能是权限问题

No application encryption key has been specified

配置 .env

#没有 openssl 扩展
wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
tar -zxvf openssl-1.0.2j.ta r.gz
cd php-5.6.16/ext/openssl/
mv config0.m4 config.m4

找到phpize 生成configure

/usr/local/php/bin/phpize

如果没有生成configure 则未安装 autoconf

apt-get install autoconf
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make
sudo make install


extension=redis.so
extension=swoole.so
extension=zip.so
extension_dir ="/usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20170718"

//远程开启mysql连接
update user set authentication_string = password(‘Dmingquan’),host=’%’ where user = ‘root’;
1.创建mysql用户
CREATE USER ‘test’@’%’ IDENTIFIED BY ‘1234’; #远程登录
GRANT ALL PRIVILEGES ON . TO ‘liuxiaojin93’@’%’ IDENTIFIED BY ‘930526*lj’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
设置mysql 密码级别
set global validate_password_policy=0;
设置mysql 密码长度
set global validate_password_length=4;

set global validate_password_policy=0;
set global validate_password_mixed_case_count=2;
SET PASSWORD = PASSWORD(‘123456’);
–nodeps

set global validate_password_policy=0;


查看mysql是否启动

service mysqld status

启动mysql

service mysqld start

停止mysql

service mysqld stop

重启mysql

service mysqld restart


//composer安装
1.下载composer
curl -sS https://getcomposer.org/installer | php
2.将composer.phar文件移动到bin目录以便全局使用composer命令
mv composer.phar /usr/local/bin/composer
3.切换国内镜像源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
查看composer全局设置
composer config -l -g
composer config -g repo.packagist composer https://packagist.laravel-china.org

//php9000端口占用
netstat -lntup | grep 9000
killall php-fpm



//swoole 扩展 安装依赖包

https://wiki.swoole.com/wiki/page/p-redis.html
下载hiredis
https://github.com/redis/hiredis/archive/v0.13.3.tar.gz
编译安装hiredis
make -j
sudo make install
sudo ldconfig

wget https://github.com/nghttp2/nghttp2/releases/download/v1.30.0/nghttp2-1.30.0.tar.bz2
yum install bzip2
tar -jxvf nghttp2-1.30.0.tar.bz2
cd nghttp2-1.30.0
./configure
make && make install

安装swoole
wget https://github.com/swoole/swoole-src/archive/v4.1.2.tar.gz
/usr/local/php-fpm/bin/phpize
./configure --with-php-config=/usr/local/php-fpm/bin/php-config --enable-coroutine --enable-openssl --enable-http2 --enable-async-redis --enable-sockets --enable-mysqlnd && make clean && make && sudo make install


swoole 安装完异步报错 解决方法
vim /etc/ld.so.conf
/usr/local/lib
sudo ldconfig

php --ri swoole

查找脚本命令
whereis phpize


//安装redis
教程地址参考 https://blog.youkuaiyun.com/xuezhangjun0121/article/details/80347131
redis启动脚本 安装目录下 /utils/ 目录 redis_init_script /etc/init.d/redisd
修改配置文件
EXEC=/usr/local/redis/redis-server
CLIEXEC=/usr/local/redis/redis-cli
REDIS_CLI=/usr/local/redis/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/redis.conf"
AUTH=“930526*lj”
设置redis密码 进入redis 命令行 config set requirepass my_redis
查看redis密码 进入redis命令行 config get requirepass
命令行更新密码 auth ‘mima’
停止更新密码
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久
systemctl enable/disable firewalld
systemctl start/stop firewalld
systemctl status firewalld
vi /etc/init.d/redis
$CLIEXEC -a “password” -p $REDISPORT shutdown

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced
gogs 开机启动
cp gogs.service /lib/systemd/system
邮箱端口改成465

服务器上创建用户
  adduser git
  chown git:git project #设置用户组

Git服务器打开RSA认证
  在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
  在/home/git下创建.ssh目录,然后创建authorized_keys文件,把id_rsa.pub里面的内容复制到authorized_keys文件中

修改权限
  重要:
  修改 .ssh 目录的权限为 700
  修改 .ssh/authorized_keys 文件的权限为 600

mongodb安装
官网 地址 https://www.mongodb.org/dl/linux/x86_64?_ga=2.189064104.222886187.1543460064-1222638156.1538017689
:%s/$releasever/7/g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值