Nginx 介紹:
Nginx就是反向代理服務器。
首先我們先來看看什么是代理服務器,代理服務器一般是指局域網內部的機器通過代理服務發送請求到互聯網上的服務器,代理服務器一般作用于客戶端。
一個完整的代理請求過程為:客戶端首先與代理服務器創建連接,然后根據代理服務器所使用的代理協議,請求對目標服務器創建連接、或則獲得目標服務器的指定資源。Web代理服務器是網絡的中間實體。代理位于Web客戶端和Web服務器之間,扮演“中間人”的角色。
HTTP的代理服務器既是Web服務器又是Web客戶端。
代理服務器是介于客戶端和Web服務器之間的另一臺服務器,有了它之后,瀏覽器不是直接到Web服務器去取回網頁,而是通過向代理服務器發送請求,信號會先送到代理服務器,由代理服務器來取回瀏覽器所需要的信息并傳送給你的瀏覽器。
正向代理是一個位于客戶端和原始服務器之間的服務器,為了從原始服務器取的內容,客戶端向代理發送一個請求并指定目標(原始服務器),然后代理向原始服務器轉交請求并將獲得的內容返回給客戶端,客戶端必須要進行一些特別的設置才能使用正向代理。
反向代理服務器:在服務器端接收客戶端的請求,然后把請求分發給具體的服務器進行處理,然后再將服務器的響應結果反饋給客戶端。Nginx就是其中的一種反向代理服務器軟件。
Nginx:Nginx(“engine x”),Nginx是俄羅斯人Igor Sysoev(塞索耶夫)編寫的一款高性能的 HTTP 和反向代理服務器一樣。也是一個IMAP/POP3/SMTP代理服務器,也就是說,Nginx本身就可以托管網站,進行HTTP服務處理,也可以作為反向代理服務器使用。
正向代理客戶端必須設置正向代理服務器,當然前提是要知道正向代理服務器的IP地址,還有代理程序的端口。
反向代理正好與正向代理相反,對于客戶端而言代理服務器就像是原始服務器,并且客戶端不需要進行任何特別的設置。客戶端向反向代理的命名空間中的內容發送普通請求,接著反向代理將判斷向哪個原始服務器轉交請求,并將獲得的內容返回給客戶端。
Nginx 一般會采用與mysql 和 PHP 結合使用。一般會用在Linux 系統下。
備注:
本次安裝是基于CENTOS 7 版本OS
依賴包安裝:
yum install pcre-devel zlib-devel openssl-devel libxml2-devel sqlite-devel libcurl-devel wget lsof -y
yum install -y gcc gcc-c++ make sudo autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel patch libmcrypt-devel libmhash-devel ncurses-devel bzip2 libcap-devel ntp sysklogd diffutils sendmail iptables unzip cmake
添加用戶給Nginx 和Mysql 數據庫。
User add:
groupadd mysql
useradd -r mysql -g mysql
groupadd www
useradd -r www -g www
Mysql 安裝:
下載地址
wget http://repo.mysql.com/mysql80-community-release-el7.rpm
rpm -ivh mysql80-community-release-el7.rpm
安裝mysql
yum install mysql mysql-server -y
安裝完成后可用對mysql 進行配置 /etc/my.cnf
datadir 使用來保存數據地址的 默認是/var/lib/mysql 那我改為/data 并授權訪問
datadir=/data
chown mysql:mysql -R /data
/data 屬于mysql 用戶
根據需要更改保存數據路徑
允許mysql 數據庫有訪問權限和管理權限
chown mysql:mysql -R /var/lib/mysql
chown mysql:mysql -R /var/run/mysqld/
yum update -y
yum install mysql-server -y
初始化mysql 數據庫:
登錄mysql 用戶。初始化數據庫。
su mysql
mysqld –initialize
service mysqld start
查看臨時密碼:
cat /var/log/mysqld.log|grep password
臨時密碼
查看臨時密碼后,然后使用臨時密碼登錄:
更改mysql 密碼:pjR:0CtcuFxo 為臨時密碼。密碼為MyPassword@123
mysqladmin -uroot -p’pjR:0CtcuFxo’ password’MyPassword@123’
第一次登錄 更改:
alter user user() identified by ‘MyPassword@123’;
mysqladmin -uroot -p’pjR:0CtcuFxo’ password’MyPassword@123’
alter user ‘root’ identified by ‘MyPassword@123’;
Nginx 下載地址:
http://nginx.org/download/
可以使用命令下載:
wget http://nginx.org/download/nginx-1.9.9.tar.gz
wget http://nginx.org/download/nginx-1.9.9.zip
解壓nginx-1.9.9.tar.gz
tar xvf nginx-1.9.9.tar.gz
創建安裝路徑
mkdir /usr/local/nginx
./configure –prefix=/usr/local/nginx –without-http_rewrite_module –user=www –group=www
make 進行編譯
make install 進行安裝
配置路徑設置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
先切換到 /usr/local/nginx/sbin/ 目錄下,然后執行 ./nginx -s reload 就可
也可以使用如下命令:
/usr/local/nginx/sbin/nginx -s reload
ps -ef |grep nginx 查看進程
lsof -i:80 查看端口占用情況
systemctl stop firewalld.service
添加端口:
firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ port protocol=”tcp” port=”80″ accept”
firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ port protocol=”tcp” port=”9000″ accept”
firewall-cmd –reload
設置完成
PHP支持設置:
PHP 下載
mkdir /usr/local/php
wget https://www.php.net/distributions/php-8.0.8.tar.gz
tar xvf php-8.0.8.tar.gz
cd php-8.0.8
配置文件:
./configure –prefix=/usr/local/php –with-curl –with-mysqli –with-openssl –with-pdo-mysql –enable-fpm –with-zlib-dir –enable-sockets –without-pear –disable-phar
編譯和安裝:
make
make test
make install
PHP 配置:
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
cp /root/soft/php-8.0.8/php.ini-production lib/php.ini
PHP 啟動:
/usr/local/php/sbin/php-fpm
Nginx PHP 支持配置
vi /usr/local/nginx/conf/nginx.conf
打開如下功能,在/home/html 下添加PHP 文件
location ~ .php$ {
root /home/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/html/$fastcgi_script_name;
include fastcgi_params;
}
/usr/local/nginx/sbin/nginx -s reload
MYSQL 使用
更改密碼策略:
set global validate_password.length = 6 ;
set global validate_password.policy = ‘LOW’;
FLUSH PRIVILEGES;
添加用戶和密碼:
create user mysql@locahost identified by ‘MyNew123@123’
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。